Bahasa

Extensions.Elements Metode

Definisi

Mengembalikan kumpulan elemen turunan dari setiap elemen dan dokumen dalam kumpulan sumber.

Overload

Nama Deskripsi
Elements<T>(IEnumerable<T>)

Mengembalikan kumpulan elemen turunan dari setiap elemen dan dokumen dalam kumpulan sumber.

Elements<T>(IEnumerable<T>, XName)

Mengembalikan kumpulan elemen turunan yang difilter dari setiap elemen dan dokumen dalam kumpulan sumber. Hanya elemen yang memiliki XName yang cocok yang disertakan dalam koleksi.

Keterangan

Visual Basic berisi sumbu elemen terintegrasi yang memungkinkan Anda menemukan semua elemen turunan dengan XName tertentu untuk setiap elemen dalam koleksi sumber.

Metode ini menggunakan eksekusi yang ditangguhkan.

Elements<T>(IEnumerable<T>)

Sumber:
Extensions.cs
Sumber:
Extensions.cs
Sumber:
Extensions.cs
Sumber:
Extensions.cs
Sumber:
Extensions.cs

Mengembalikan kumpulan elemen turunan dari setiap elemen dan dokumen dalam kumpulan sumber.

public:
generic <typename T>
 where T : System::Xml::Linq::XContainer[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Elements(System::Collections::Generic::IEnumerable<T> ^ source);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements<T>(this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XContainer;
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements<T>(this System.Collections.Generic.IEnumerable<T?> source) where T : System.Xml.Linq.XContainer;
static member Elements : seq<'T (requires 'T :> System.Xml.Linq.XContainer)> -> seq<System.Xml.Linq.XElement> (requires 'T :> System.Xml.Linq.XContainer)
<Extension()>
Public Function Elements(Of T As XContainer) (source As IEnumerable(Of T)) As IEnumerable(Of XElement)

Jenis parameter

T

Jenis objek dalam , dibatasi sourceke XContainer.

Parameter

source
IEnumerable<T>

Salah satunya IEnumerable<T>XElement berisi kumpulan sumber.

Mengembalikan

Salah IEnumerable<T> satu XElement elemen turunan dari setiap elemen atau dokumen dalam kumpulan sumber.

Contoh

Contoh berikut mengambil kumpulan elemen dengan nama Childelemen . Kemudian menggunakan metode sumbu ini untuk mengambil semua elemen anak dari koleksi.

XElement xmlTree = new XElement("Root",
    new XElement("Child",
        new XElement("GrandChild1", 1),
        new XElement("GrandChild2", 2)
    ),
    new XElement("Child",
        new XElement("GrandChild3", 3),
        new XElement("GrandChild4", 4)
    ),
    new XElement("Child",
        new XElement("GrandChild5", 5),
        new XElement("GrandChild6", 6)
    )
);

IEnumerable<XElement> allGrandChildren =
    from el in xmlTree.Elements("Child").Elements()
    select el;

foreach (XElement el in allGrandChildren)
    Console.WriteLine(el);
Dim xmlTree As XElement = _
     <Root>
          <Child>
              <GrandChild1>1</GrandChild1>
              <GrandChild2>2</GrandChild2>
          </Child>

          <Child>
              <GrandChild3>3</GrandChild3>
              <GrandChild4>4</GrandChild4>
          </Child>

          <Child>
              <GrandChild5>5</GrandChild5>
              <GrandChild6>6</GrandChild6>
          </Child>
      </Root>

Dim allGrandChildren = From el In xmlTree.<Child>.Elements _
                       Select el

For Each el As XElement In allGrandChildren
    Console.WriteLine(el)
Next

Contoh ini menghasilkan output berikut:

<GrandChild1>1</GrandChild1>
<GrandChild2>2</GrandChild2>
<GrandChild3>3</GrandChild3>
<GrandChild4>4</GrandChild4>
<GrandChild5>5</GrandChild5>
<GrandChild6>6</GrandChild6>

Berikut ini adalah contoh yang sama, tetapi dalam hal ini XML berada di namespace layanan. Untuk informasi selengkapnya, lihat Bekerja dengan Namespace XML.

XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = new XElement(aw + "Root",
    new XElement(aw + "Child",
        new XElement(aw + "GrandChild1", 1),
        new XElement(aw + "GrandChild2", 2)
    ),
    new XElement(aw + "Child",
        new XElement(aw + "GrandChild3", 3),
        new XElement(aw + "GrandChild4", 4)
    ),
    new XElement(aw + "Child",
        new XElement(aw + "GrandChild5", 5),
        new XElement(aw + "GrandChild6", 6)
    )
);

IEnumerable<XElement> allGrandChildren =
    from el in xmlTree.Elements(aw + "Child").Elements()
    select el;

foreach (XElement el in allGrandChildren)
    Console.WriteLine(el);
Imports <xmlns="http://www.adventure-works.com">

Module Module1
    Sub Main()
        Dim xmlTree As XElement = _
             <Root>
                 <Child>
                     <GrandChild1>1</GrandChild1>
                     <GrandChild2>2</GrandChild2>
                 </Child>

                 <Child>
                     <GrandChild3>3</GrandChild3>
                     <GrandChild4>4</GrandChild4>
                 </Child>

                 <Child>
                     <GrandChild5>5</GrandChild5>
                     <GrandChild6>6</GrandChild6>
                 </Child>
             </Root>

        Dim allGrandChildren = From el In xmlTree.<Child>.Elements _
                               Select el

        For Each el As XElement In allGrandChildren
            Console.WriteLine(el)
        Next
    End Sub
End Module

Contoh ini menghasilkan output berikut:

<GrandChild1 xmlns="http://www.adventure-works.com">1</GrandChild1>
<GrandChild2 xmlns="http://www.adventure-works.com">2</GrandChild2>
<GrandChild3 xmlns="http://www.adventure-works.com">3</GrandChild3>
<GrandChild4 xmlns="http://www.adventure-works.com">4</GrandChild4>
<GrandChild5 xmlns="http://www.adventure-works.com">5</GrandChild5>
<GrandChild6 xmlns="http://www.adventure-works.com">6</GrandChild6>

Keterangan

Meskipun Visual Basic berisi sumbu elemen terintegrasi yang memungkinkan Anda menemukan semua elemen turunan dengan XName tertentu untuk setiap elemen dalam koleksi sumber, tidak ada sumbu elemen terintegrasi yang memungkinkan Anda mengambil koleksi setiap elemen turunan untuk setiap elemen dalam koleksi sumber.

Metode ini menggunakan eksekusi yang ditangguhkan.

Lihat juga

Berlaku untuk

Elements<T>(IEnumerable<T>, XName)

Sumber:
Extensions.cs
Sumber:
Extensions.cs
Sumber:
Extensions.cs
Sumber:
Extensions.cs
Sumber:
Extensions.cs

Mengembalikan kumpulan elemen turunan yang difilter dari setiap elemen dan dokumen dalam kumpulan sumber. Hanya elemen yang memiliki XName yang cocok yang disertakan dalam koleksi.

public:
generic <typename T>
 where T : System::Xml::Linq::XContainer[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Elements(System::Collections::Generic::IEnumerable<T> ^ source, System::Xml::Linq::XName ^ name);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements<T>(this System.Collections.Generic.IEnumerable<T> source, System.Xml.Linq.XName name) where T : System.Xml.Linq.XContainer;
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements<T>(this System.Collections.Generic.IEnumerable<T?> source, System.Xml.Linq.XName? name) where T : System.Xml.Linq.XContainer;
static member Elements : seq<'T (requires 'T :> System.Xml.Linq.XContainer)> * System.Xml.Linq.XName -> seq<System.Xml.Linq.XElement> (requires 'T :> System.Xml.Linq.XContainer)
<Extension()>
Public Function Elements(Of T As XContainer) (source As IEnumerable(Of T), name As XName) As IEnumerable(Of XElement)

Jenis parameter

T

Jenis objek dalam , dibatasi sourceke XContainer.

Parameter

source
IEnumerable<T>

Salah satunya IEnumerable<T>XElement berisi kumpulan sumber.

name
XName

Untuk XName mencocokkan.

Mengembalikan

Salah satu IEnumerable<T>XElement elemen turunan dari setiap elemen dan dokumen dalam koleksi sumber. Hanya elemen yang memiliki XName yang cocok yang disertakan dalam koleksi.

Contoh

Metode ekstensi ini berguna ketika Anda ingin mengambil semua elemen dengan nama tertentu pada kedalaman tertentu. Ini mudah jika dokumen sangat teratur, tetapi jika dokumen tidak teratur, itu bisa sedikit lebih sulit. Dalam contoh berikut, kita ingin mengambil semua aaa elemen yang merupakan turunan dari Item elemen. Elemen tertentu Item mungkin atau mungkin tidak berisi aaa elemen. Ini mudah dicapai menggunakan metode ekstensi ini, sebagai berikut:

XElement xmlTree = new XElement("Root",
    new XElement("Item",
        new XElement("aaa", 1),
        new XElement("bbb", 2)
    ),
    new XElement("Item",
        new XElement("ccc", 3),
        new XElement("aaa", 4)
    ),
    new XElement("Item",
        new XElement("ddd", 5),
        new XElement("eee", 6)
    )
);

IEnumerable<XElement> allGrandChildren =
    from el in xmlTree.Elements("Item").Elements("aaa")
    select el;

foreach (XElement el in allGrandChildren)
    Console.WriteLine(el);
Dim xmlTree As XElement = _
    <Root>
        <Item>
            <aaa>1</aaa>
            <bbb>2</bbb>
        </Item>

        <Item>
            <ccc>3</ccc>
            <aaa>4</aaa>
        </Item>

        <Item>
            <ddd>5</ddd>
            <eee>6</eee>
        </Item>
    </Root>

Dim allGrandChildren = From el In xmlTree.<Item>.<aaa> _
                       Select el

For Each el As XElement In allGrandChildren
    Console.WriteLine(el)
Next

Contoh ini menghasilkan output berikut:

<aaa>1</aaa>
<aaa>4</aaa>

Berikut ini adalah contoh yang sama, tetapi dalam hal ini XML berada di namespace layanan. Untuk informasi selengkapnya, lihat Bekerja dengan Namespace XML.

XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = new XElement(aw + "Root",
    new XElement(aw + "Item",
        new XElement(aw + "aaa", 1),
        new XElement(aw + "bbb", 2)
    ),
    new XElement(aw + "Item",
        new XElement(aw + "ccc", 3),
        new XElement(aw + "aaa", 4)
    ),
    new XElement(aw + "Item",
        new XElement(aw + "ddd", 5),
        new XElement(aw + "eee", 6)
    )
);

IEnumerable<XElement> allGrandChildren =
    from el in xmlTree.Elements(aw + "Item").Elements(aw + "aaa")
    select el;

foreach (XElement el in allGrandChildren)
    Console.WriteLine(el);
Imports <xmlns="http://www.adventure-works.com">

Module Module1
    Sub Main()
        Dim xmlTree As XElement = _
            <Root>
                <Item>
                    <aaa>1</aaa>
                    <bbb>2</bbb>
                </Item>

                <Item>
                    <ccc>3</ccc>
                    <aaa>4</aaa>
                </Item>

                <Item>
                    <ddd>5</ddd>
                    <eee>6</eee>
                </Item>
            </Root>

        Dim allGrandChildren = From el In xmlTree.<Item>.<aaa> _
                               Select el

        For Each el As XElement In allGrandChildren
            Console.WriteLine(el)
        Next
    End Sub
End Module

Contoh ini menghasilkan output berikut:

<aaa xmlns="http://www.adventure-works.com">1</aaa>
<aaa xmlns="http://www.adventure-works.com">4</aaa>

Keterangan

Visual Basic pengguna dapat menggunakan sumbu elemen terintegrasi untuk mengambil elemen turunan dari setiap elemen dalam koleksi.

Metode ini menggunakan eksekusi yang ditangguhkan.

Lihat juga

Berlaku untuk