XNode.PreviousNode Propriedade

Definição

Obtém o nó irmão anterior desse nó.

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

Valor da propriedade

XNode

O XNode que contém o nó irmão anterior.

Exemplos

O exemplo a seguir usa essa propriedade para fazer loop por meio de nós.

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

Esse exemplo gera a saída a seguir:

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

Comentários

Se isso XNode não tiver um pai ou se não houver nenhum nó anterior, essa propriedade retornará null.

O XContainer armazenamento de seus nós filho como uma lista de XNode objetos vinculados. Isso significa que a PreviousNode propriedade deve percorrer a lista de nós filho diretos no contêiner pai. Portanto, usar essa propriedade pode afetar seu desempenho.

Aplica-se a

Produto Versões
.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
.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
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Confira também