e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="XmlLinkedNode.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
// <owner current="true" primary="true">[....]</owner>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.Xml {
|
|
|
|
// Gets the node immediately preceeding or following this node.
|
|
public abstract class XmlLinkedNode: XmlNode {
|
|
internal XmlLinkedNode next;
|
|
|
|
internal XmlLinkedNode(): base() {
|
|
next = null;
|
|
}
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
}
|