Extensions.Nodes<T>(IEnumerable<T>) Метод
Определение
Возвращает коллекцию дочерних узлов каждого документа и элемента в исходной коллекции.Returns a collection of the child nodes of every document and element in the source collection.
public:
generic <typename T>
where T : System::Xml::Linq::XContainer[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XNode ^> ^ Nodes(System::Collections::Generic::IEnumerable<T> ^ source);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XNode> Nodes<T> (this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XContainer;
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XNode> Nodes<T> (this System.Collections.Generic.IEnumerable<T?> source) where T : System.Xml.Linq.XContainer;
static member Nodes : seq<'T (requires 'T :> System.Xml.Linq.XContainer)> -> seq<System.Xml.Linq.XNode> (requires 'T :> System.Xml.Linq.XContainer)
<Extension()>
Public Function Nodes(Of T As XContainer) (source As IEnumerable(Of T)) As IEnumerable(Of XNode)
<Extension()>
Public Iterator Function Nodes(Of T As XContainer) (source As IEnumerable(Of T)) As IEnumerable(Of XNode)
Параметры типа
- T
Тип объектов в source
, ограниченный узлом XContainer.The type of the objects in source
, constrained to XContainer.
Параметры
- source
- IEnumerable<T>
Интерфейс IEnumerable<T> узла XNode, содержащий исходную коллекцию.An IEnumerable<T> of XNode that contains the source collection.
Возвращаемое значение
IEnumerable<T> для XNode дочерних узлов каждого документа и элемента в исходной коллекции.An IEnumerable<T> of XNode of the child nodes of every document and element in the source collection.
Примеры
В следующем примере извлекаются все дочерние узлы для каждого узла в коллекции элементов с именем Child
.The following example retrieves all of the child nodes for every node in a collection of elements with the name of Child
.
XElement xmlTree = XElement.Parse(
@"<Root><Child>aaa<GrandChild>Text</GrandChild>bbb</Child>" +
@"<Child>ccc<GrandChild>Text</GrandChild>ddd</Child></Root>");
IEnumerable<XNode> nodes = xmlTree.Elements("Child").Nodes();
foreach (XNode node in nodes)
{
switch (node.NodeType)
{
case XmlNodeType.Element:
Console.WriteLine("Element: {0}", ((XElement)node).Name);
break;
case XmlNodeType.Text:
Console.WriteLine("Text: {0}", ((XText)node).Value);
break;
}
}
Dim xmlTree As XElement = _
<Root>
<Child>aaa<GrandChild>Text</GrandChild>bbb</Child>
<Child>ccc<GrandChild>Text</GrandChild>ddd</Child>
</Root>
Dim nodes = xmlTree.<Child>.Nodes()
' Note that XNode uses XmlNodeType, which is in the System.Xml namespace.
For Each node As XNode In nodes
Select Case node.NodeType
Case XmlNodeType.Element
Console.WriteLine("Element: {0}", DirectCast(node, XElement).Name)
Case XmlNodeType.Text
Console.WriteLine("Text: {0}", DirectCast(node, XText).Value)
End Select
Next
В этом примере выводятся следующие данные:This example produces the following output:
Text: aaa
Element: GrandChild
Text: bbb
Text: ccc
Element: GrandChild
Text: ddd
Комментарии
Этот метод использует отложенное выполнение.This method uses deferred execution.