XContainer.DescendantNodes Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar en samling underordnade noder för det här dokumentet eller elementet i dokumentordning.
public:
System::Collections::Generic::IEnumerable<System::Xml::Linq::XNode ^> ^ DescendantNodes();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XNode> DescendantNodes();
member this.DescendantNodes : unit -> seq<System.Xml.Linq.XNode>
Public Function DescendantNodes () As IEnumerable(Of XNode)
Returer
En IEnumerable<T> av XNode som innehåller de underordnade noderna i dokumentordningen XContainer, i dokumentordning.
Exempel
I följande exempel skapas ett XML-träd och itererar sedan genom DescendantNodes axeln.
XElement xmlTree = new XElement("Root",
// Attributes are not nodes, so will not be returned by DescendantNodes.
new XAttribute("Att1", "AttributeContent"),
new XElement("Child",
new XElement("GrandChild", "element content")
)
);
IEnumerable<XNode> dnas =
from node in xmlTree.DescendantNodes()
select node;
foreach (XNode node in dnas)
{
if (node is XElement)
Console.WriteLine((node as XElement).Name);
else
Console.WriteLine(node);
}
' Attributes are not nodes, so will not be returned by DescendantNodes.
Dim xmlTree As XElement = _
<Root Att1="AttributeContent">
<Child>
<GrandChild>element content</GrandChild>
</Child>
</Root>
Dim dnas = From node In xmlTree.DescendantNodes _
Select node
For Each node In dnas
If TypeOf node Is XElement Then
Console.WriteLine(DirectCast(node, XElement).Name)
Else
Console.WriteLine(node)
End If
Next
Det här exemplet genererar följande utdata:
Child
GrandChild
element content
Kommentarer
Observera att attribut inte anses vara noder i LINQ till XML, så de kommer inte att ingå i samlingen som returneras av den här metoden.
Den här metoden använder uppskjuten körning.