Bagikan melalui


Cara mengurai string (LINQ ke XML)

Artikel ini menunjukkan cara mengurai string untuk membuat pohon XML di C# dan di Visual Basic.

Contoh

Kode C# berikut menunjukkan cara mengurai string XML:

XElement contacts = XElement.Parse(
    @"<Contacts>
        <Contact>
            <Name>Patrick Hines</Name>
            <Phone Type=""home"">206-555-0144</Phone>
            <Phone Type=""work"">425-555-0145</Phone>
            <Address>
            <Street1>123 Main St</Street1>
            <City>Mercer Island</City>
            <State>WA</State>
            <Postal>68042</Postal>
            </Address>
            <NetWorth>10</NetWorth>
        </Contact>
        <Contact>
            <Name>Gretchen Rivas</Name>
            <Phone Type=""mobile"">206-555-0163</Phone>
            <Address>
            <Street1>123 Main St</Street1>
            <City>Mercer Island</City>
            <State>WA</State>
            <Postal>68042</Postal>
            </Address>
            <NetWorth>11</NetWorth>
        </Contact>
    </Contacts>");
Console.WriteLine(contacts);

Anda dapat mengurai string dengan Visual Basic dengan cara yang serupa. Namun, menggunakan harfiah XML lebih efisien, seperti yang ditunjukkan dalam kode berikut, karena harfiah XML tidak mengalami penalti performa yang sama seperti mengurai XML dari string.

Dengan menggunakan harfiah XML, Anda cukup menyalin dan menempelkan XML ke dalam program Visual Basic.

Catatan

Menguraikan teks atau memuat dokumen XML dari file teks kurang efisien dibandingkan konstruksi fungsional. Jika Anda menginsialisasi pohon XML dari kode, dibutuhkan lebih sedikit waktu prosesor untuk menggunakan konstruksi fungsional daripada mengurai teks.

Dim contacts as XElement = _
    <Contacts>
        <Contact>
            <Name>Patrick Hines</Name>
            <Phone Type="home">206-555-0144</Phone>
            <Phone Type="work">425-555-0145</Phone>
            <Address>
            <Street1>123 Main St</Street1>
            <City>Mercer Island</City>
            <State>WA</State>
            <Postal>68042</Postal>
            </Address>
            <NetWorth>10</NetWorth>
        </Contact>
        <Contact>
            <Name>Gretchen Rivas</Name>
            <Phone Type="mobile">206-555-0163</Phone>
            <Address>
            <Street1>123 Main St</Street1>
            <City>Mercer Island</City>
            <State>WA</State>
            <Postal>68042</Postal>
            </Address>
            <NetWorth>11</NetWorth>
        </Contact>
    </Contacts>

Node akar Contacts memiliki dua node Contact. Untuk mengakses beberapa data tertentu dalam XML yang diurai, gunakan metode XElement.Elements(), yang dalam hal ini mengembalikan elemen turunan dari node akar Contacts. Contoh berikut mencetak simpul pertama Contact ke konsol:

List<XElement> contactNodes = contacts.Elements("Contact").ToList();
Console.WriteLine(contactNodes[0]);
Dim contactNodes As List(Of XElement) = contacts.Elements("Contact").ToList()
Console.WriteLine(contactNodes(0))

Lihat juga