XNode.PreviousNode Özellik

Tanım

Bu düğümün önceki eşdüzey düğümünü alır.

public:
 property System::Xml::Linq::XNode ^ PreviousNode { System::Xml::Linq::XNode ^ get(); };
public System.Xml.Linq.XNode PreviousNode { get; }
public System.Xml.Linq.XNode? PreviousNode { get; }
member this.PreviousNode : System.Xml.Linq.XNode
Public ReadOnly Property PreviousNode As XNode

Özellik Değeri

XNode Önceki eşdüzey düğümü içeren.

Örnekler

Aşağıdaki örnek, düğümler arasında döngü yapmak için bu özelliği kullanır.

XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XText("Some Text"),  
    new XElement("Child2",  
        2,  
        new XElement("GrandChild", "GrandChild Content")  
    ),  
    new XComment("a comment"),  
    new XElement("Child3")  
);  
XNode node = xmlTree.Element("Child2");  
do {  
    StringBuilder sb = new StringBuilder();  
    sb.Append(String.Format("NodeType: {0}", node.NodeType.ToString().PadRight(10)));  
    switch (node.NodeType)  
    {  
        case XmlNodeType.Text:  
            sb.Append((node as XText).Value);  
            break;  
        case XmlNodeType.Element:  
            sb.Append((node as XElement).Name);  
            break;  
        case XmlNodeType.Comment:  
            sb.Append((node as XComment).Value);  
            break;  
    }  
    Console.WriteLine(sb.ToString());  
}  
while ((node = node.PreviousNode) != null);  
Dim xmlTree As XElement = _  
    <Root>  
        <Child1>1</Child1>Some Text<Child2>2  
            <GrandChild>GrandChild Content</GrandChild>  
        </Child2>  
        <!--a comment-->  
        <Child3>3</Child3>  
    </Root>  

Dim node As XNode = xmlTree.Element("Child2")  
Do  
    Dim sb As StringBuilder = New StringBuilder()  
    sb.Append(String.Format("NodeType: {0}", node.NodeType.ToString().PadRight(10)))  
    Select Case node.NodeType  
        Case XmlNodeType.Text  
            sb.Append(DirectCast(node, XText).Value)  
        Case XmlNodeType.Element  
            sb.Append(DirectCast(node, XElement).Name)  
        Case XmlNodeType.Comment  
            sb.Append(DirectCast(node, XComment).Value)  
    End Select  
    Console.WriteLine(sb.ToString())  

    node = node.PreviousNode  
Loop While (Not (node Is Nothing))  

Bu örnek aşağıdaki çıkışı oluşturur:

NodeType: Element   Child2  
NodeType: Text      Some Text  
NodeType: Element   Child1  

Açıklamalar

Bunun XNode üst öğesi yoksa veya önceki bir düğüm yoksa, bu özellik döndürür null.

alt XContainer düğümlerini nesnelerin tek bağlantılı bir listesi XNode olarak depolar. Bu, özelliğin PreviousNode üst kapsayıcının altındaki doğrudan alt düğümler listesinden geçmesi gerektiği anlamına gelir. Bu nedenle, bu özelliğin kullanılması performansınızı etkileyebilir.

Şunlara uygulanır

Ayrıca bkz.