XmlLinkedNode.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Xml / System / Xml / Dom / XmlLinkedNode.cs / 1 / XmlLinkedNode.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// [....] 
//-----------------------------------------------------------------------------
 
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;
            }
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// [....] 
//-----------------------------------------------------------------------------
 
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;
            }
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK