XNode.PreviousNode Propiedad
Definición
Obtiene el anterior nodo relacionado de este nodo.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; }
public System.Xml.Linq.XNode? PreviousNode { get; }
member this.PreviousNode : System.Xml.Linq.XNode
Public ReadOnly Property PreviousNode As XNode
Valor de propiedad
XNode que contiene el nodo relacionado anterior.The XNode that contains the previous sibling node.
Ejemplos
En el ejemplo siguiente se utiliza esta propiedad para recorrer los nodos.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))
Este ejemplo produce el siguiente resultado:This example produces the following output:
NodeType: Element Child2
NodeType: Text Some Text
NodeType: Element Child1
Comentarios
Si no XNode tiene un elemento primario, o si no hay ningún nodo anterior, esta propiedad devuelve null
.If this XNode does not have a parent, or if there is no previous node, this property returns null
.
XContainerAlmacena sus nodos secundarios como una lista de objetos vinculada individualmente XNode .The XContainer stores its child nodes as a singly-linked list of XNode objects. Esto significa que la PreviousNode propiedad debe atravesar la lista de nodos secundarios directos en el contenedor primario.This means that the PreviousNode property must traverse the list of direct child nodes under the parent container. Por lo tanto, el uso de esta propiedad puede afectar al rendimiento.Therefore, using this property might affect your performance.