XNode.PreviousNode XNode.PreviousNode XNode.PreviousNode XNode.PreviousNode Property

Definition

Ruft den vorherigen nebengeordneten Knoten dieses Knotens ab.Gets the previous sibling node of this node.

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

Eigenschaftswert

Der XNode, der den vorherigen nebengeordneten Knoten enthält.The XNode that contains the previous sibling node.

Beispiele

Im folgenden Beispiel wird diese Eigenschaft verwendet, um Knoten zu durchlaufen.The following example uses this property to loop through nodes.

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))  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

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

Hinweise

Wenn kein übergeordnetes Element vorhanden ist, oder wenn kein vorheriger Knoten vorhanden ist, gibt diese Eigenschaft nullzurück. XNodeIf this XNode does not have a parent, or if there is no previous node, this property returns null.

Speichert XContainer seine untergeordneten Knoten als einzeln verknüpfte Liste von XNode -Objekten.The XContainer stores its child nodes as a singly-linked list of XNode objects. Dies bedeutet, dass PreviousNode die-Eigenschaft die Liste der direkt untergeordneten Knoten unter dem übergeordneten Container durchlaufen muss.This means that the PreviousNode property must traverse the list of direct child nodes under the parent container. Daher kann sich die Verwendung dieser Eigenschaft auf die Leistung auswirken.Therefore, using this property might affect your performance.

Gilt für:

Siehe auch