XNode.PreviousNode Eigenschap

Definitie

Hiermee wordt het vorige knooppunt op hetzelfde niveau van dit knooppunt opgehaald.

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

Waarde van eigenschap

Het XNode knooppunt dat het vorige knooppunt op hetzelfde niveau bevat.

Voorbeelden

In het volgende voorbeeld wordt deze eigenschap gebruikt om knooppunten te doorlopen.

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

In dit voorbeeld wordt de volgende uitvoer gegenereerd:

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

Opmerkingen

Als dit XNode geen bovenliggend knooppunt heeft of als er geen eerder knooppunt is, wordt deze eigenschap geretourneerd null.

De XContainer onderliggende knooppunten worden opgeslagen als een singly-gekoppelde lijst XNode met objecten. Dit betekent dat de PreviousNode eigenschap de lijst met directe onderliggende knooppunten onder de bovenliggende container moet doorlopen. Daarom kan het gebruik van deze eigenschap van invloed zijn op uw prestaties.

Van toepassing op

Zie ook