XNode.PreviousNode Proprietà

Definizione

Ottiene il nodo di pari livello precedente di questo nodo.

public System.Xml.Linq.XNode PreviousNode { get; }
public System.Xml.Linq.XNode? PreviousNode { get; }

Valore della proprietà

Oggetto XNode che contiene il nodo di pari livello precedente.

Esempio

Nell'esempio seguente viene usata questa proprietà per eseguire il ciclo dei nodi.

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

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Se non XNode è presente un elemento padre o se non è presente alcun nodo precedente, questa proprietà restituisce null.

I XContainer nodi figlio vengono archiviati come elenco collegato in modo autonomo di XNode oggetti. Ciò significa che la PreviousNode proprietà deve attraversare l'elenco di nodi figlio diretti nel contenitore padre. Pertanto, l'uso di questa proprietà potrebbe influire sulle prestazioni.

Si applica a

Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Vedi anche