Extensions.Nodes<T>(IEnumerable<T>) Méthode
Définition
Retourne une collection des nœuds enfants de chaque document et élément de la collection source.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)
Paramètres de type
- T
Type des objets de source
, contraint par XContainer.The type of the objects in source
, constrained to XContainer.
Paramètres
- source
- IEnumerable<T>
IEnumerable<T> de XNode qui contient la collection source.An IEnumerable<T> of XNode that contains the source collection.
Retours
IEnumerable<T> de XNode des nœuds enfants de chaque document et élément de la collection source.An IEnumerable<T> of XNode of the child nodes of every document and element in the source collection.
Exemples
L’exemple suivant récupère tous les nœuds enfants pour chaque nœud d’une collection d’éléments portant le nom 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
Cet exemple produit la sortie suivante :This example produces the following output:
Text: aaa
Element: GrandChild
Text: bbb
Text: ccc
Element: GrandChild
Text: ddd
Remarques
Cette méthode utilise l'exécution différée.This method uses deferred execution.