XNode.PreviousNode Własność
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Pobiera poprzedni węzeł równorzędny tego węzła.
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
Wartość nieruchomości
Element XNode , który zawiera poprzedni węzeł równorzędny.
Przykłady
W poniższym przykładzie użyto tej właściwości do pętli przez węzły.
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))
Ten przykład generuje następujące wyniki:
NodeType: Element Child2
NodeType: Text Some Text
NodeType: Element Child1
Uwagi
Jeśli nie XNode ma elementu nadrzędnego lub jeśli nie ma poprzedniego węzła, ta właściwość zwraca nullwartość .
Obiekt XContainer przechowuje węzły podrzędne jako listę obiektów połączonych XNode ze sobą. Oznacza to, że PreviousNode właściwość musi przechodzić przez listę bezpośrednich węzłów podrzędnych w kontenerze nadrzędnym. W związku z tym użycie tej właściwości może mieć wpływ na wydajność.