XContainer.Nodes Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bu öğenin veya belgenin alt düğümlerinin bir koleksiyonunu belge sırasına göre döndürür.
public:
System::Collections::Generic::IEnumerable<System::Xml::Linq::XNode ^> ^ Nodes();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XNode> Nodes ();
member this.Nodes : unit -> seq<System.Xml.Linq.XNode>
Public Function Nodes () As IEnumerable(Of XNode)
Public Iterator Function Nodes () As IEnumerable(Of XNode)
Döndürülenler
IEnumerable<T> Bu XContaineröğesinin XNode içeriğini belge sırasına göre içeren bir.
Örnekler
Aşağıdaki örnek, çeşitli düğüm türlerine sahip bir XML ağacı oluşturur. Ardından düğümleri listelemek ve yazdırmak için bu eksen yöntemini sorgular.
XElement xmlTree = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XComment("a comment"),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XText("mixed content"),
new XElement("Child5", 5)
);
IEnumerable<XNode> nodes =
from nd in xmlTree.Nodes()
select nd;
foreach (XNode node in nodes)
Console.WriteLine(node);
Dim xmlTree As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<!--a comment-->
<Child3>3</Child3>
<Child4>4</Child4>mixed content<Child5>5</Child5>
</Root>
Dim nodes = From nd In xmlTree.Nodes() _
Select nd
For Each node In nodes
Console.WriteLine(node)
Next
Bu örnek aşağıdaki çıkışı oluşturur:
<Child1>1</Child1>
<Child2>2</Child2>
<!--a comment-->
<Child3>3</Child3>
<Child4>4</Child4>
mixed content
<Child5>5</Child5>
Aşağıdaki örnek, çeşitli düğüm türlerini içeren bir XML ağacı oluşturur. Ardından, düğüm türlerini yazdırarak ağacın bölümleri arasında numaralandırılır.
XDocument xmlTree = new XDocument(
new XComment("a comment"),
new XProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"hello.xsl\""),
new XElement("Root",
new XAttribute("Att", "attContent"),
new XElement("Child1",
new XCData("CDATA content")
),
new XElement("Child2",
new XText("Text content")
)
)
);
foreach (XNode node in xmlTree.Nodes())
{
Console.WriteLine(node.NodeType);
if (node.NodeType == XmlNodeType.Element)
{
foreach (XAttribute att in ((XElement)node).Attributes())
Console.WriteLine(att.NodeType);
foreach (XNode node2 in ((XElement)node).Nodes())
{
Console.WriteLine(node2.NodeType);
if (node2.NodeType == XmlNodeType.Element)
foreach (XNode node3 in ((XElement)node2).Nodes())
Console.WriteLine(node3.NodeType);
}
}
}
Dim xmlTree As XDocument = _
<?xml version="1.0" encoding="utf-8"?>
<!--a comment-->
<?xml-stylesheet type='text/xsl' href='hello.xsl'?>
<Root Att="attContent">
<Child1><![CDATA[CDATA content]
Açıklamalar
İçeriğin öznitelikleri içermediğini unutmayın. LINQ to XML öznitelikleri ağacın düğümleri olarak kabul edilmez. Bir öğeyle ilişkili ad/değer çiftleridir.
Bu yöntem ertelenmiş yürütmeyi kullanır.