| File: System\Xml\Dom\XmlLinkedNode.cs | Web Access |
| Project: src\runtime\src\libraries\System.Private.Xml\src\System.Private.Xml.csproj (System.Private.Xml) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.Xml { // Gets the node immediately preceding or following this node. public abstract class XmlLinkedNode : XmlNode { internal XmlLinkedNode? next; internal XmlLinkedNode(XmlDocument doc) : base(doc) { next = null; } // Gets the node immediately preceding this node. public override XmlNode? PreviousSibling { get { XmlNode? parent = ParentNode; if (parent != null) { XmlNode? node = parent.FirstChild; while (node != null) { XmlNode? nextSibling = node.NextSibling; if (nextSibling == this) { break; } node = nextSibling; } return node; } return null; } } // Gets the node immediately following this node. public override XmlNode? NextSibling { get { XmlNode? parent = ParentNode; if (parent != null) { if (next != parent.FirstChild) return next; } return null; } } } }