Berikut adalah cara penggunaan LINQ to XML :
LINQ to XML merupakan salah satu kemampuan LINQ untuk melakukan Query kedalam format struktur data XML.
Buat file XML Customer sebagai contoh penggunaan nantinya, isi file XML tersebut adalah :
<?xml version="1.0" encoding="utf-8" ?>
<Contact>
<ContactPerson id="01">
<nama>Johanes</nama><email>Johanes@gmail.com</email><blog>www.johanes.blogspot.com</blog>
</ContactPerson ><ContactPerson id="02">
<nama>Mike</nama><email>mike@gmail.com</email><blog>www.mike.blogspot.com</blog>
</ContactPerson ><ContactPerson id="03">
<nama>Novi</nama><email>novi@yahoo.com</email><blog>www.novi.blogspot.com</blog>
</ContactPerson >
</Contact>
simpan file tersebut (customer.xml) pada [NamaProject] --> BIN --> [Debug]
Format load file XML :
Dim LINQ = From nama In CustomerXML...<nama> Select nama.value
Format langsung menjadi variable di visual basic .net:
Dim CustomerXML = <?xml version="1.0" encoding="utf-8" ?>
<Contact><ContactPerson id="01"><nama>Johanes</nama><email>Johanes@gmail.com</email><blog>www.johanes.blogspot.com</blog></ContactPerson ><ContactPerson id="02"><nama>Mike</nama><email>mike@gmail.com</email><blog>www.mike.blogspot.com</blog></ContactPerson ><ContactPerson id="03"><nama>Novi</nama><email>novi@yahoo.com</email><blog>www.novi.blogspot.com</blog></ContactPerson ></Contact>
Contoh penggunaan dalam Visual Basic .Net
Dim CustomerXML = <?xml version="1.0" encoding="utf-8" ?>
<Contact><ContactPerson id="01"><nama>Johanes</nama><email>Johanes@gmail.com</email><blog>www.johanes.blogspot.com</blog></ContactPerson ><ContactPerson id="02"><nama>Mike</nama><email>mike@gmail.com</email><blog>www.mike.blogspot.com</blog></ContactPerson ><ContactPerson id="03"><nama>Novi</nama><email>novi@yahoo.com</email><blog>www.novi.blogspot.com</blog></ContactPerson ></Contact>
' jika hanya ingin mengambil nilai dari field XML tanpa ikut field
Dim LINQ = From nama In CustomerXML...<nama> Select nama.Value
' jika hanya ingin mengambil nilai dari field XML dengan ikut field
'Dim LINQ = From nama In CustomerXML...<nama> Select nama
Dim hasil = "-- List Tag Nama --" & vbCrLf & vbCrLf
For Each nama In LINQ
hasil = hasil & nama.toString & vbCrLf
Next
MsgBox(hasil)
Load XML data
untuk meload data file XML gunakan sintak :
Dim <nama variable> = XDocument.Load(<URL data xml>)
Contoh load file XML yang telah dibuat sebelumnya diatas :
Dim contactXML = XDocument.Load(CurDir() & "\customer.xml")
Dim LINQ = From nama In contactXML...<nama> Select nama
Dim hasil = "-- List Tag Nama --" & vbCrLf & vbCrLf
For Each nama In LINQ
hasil = hasil & nama.ToString & vbCrLf
Next
MsgBox(hasil)
Jika ingin mengambil semua data pada file XML, gunakan sintak :
Dim LINQ = From nama In contactXML...<ContactPerson> Select nama
Hasilnya maka akan menampilkan semua value file XML
Membuat File XML
Disini akan dicoba membuat file XML dan mengambil kembali untuk ditampilkan dengan value yang dynamic
Contoh load xml dan menampilkan tanpa menggunakan LINQ:
Dim oXML = <?xml version="1.0" encoding="utf-8"?>
<Waktu>
<%= Now() %>
</Waktu>
My.Computer.FileSystem.WriteAllText ("d:\waktu.xml", oXML.ToString, False)
Process.Start("d:\waktu.xml")
Contoh load xml dan menampilkan menggunakan LINQ dengan value dynamic:
Dim oXML = <?xml version="1.0" encoding="utf-8"?>
<TaskManager>
<%= From p In System.Diagnostics.Process.GetProcesses _Select <proses>
<id><%= p.Id %></id><nama><%= p.ProcessName %></nama><memory><%= p.PagedMemorySize %></memory></proses> %>
</TaskManager>
My.Computer.FileSystem.WriteAllText ("c:\proses.xml", oXML.ToString, False)
Process.Start("c:\proses.xml")
Catatan : Bisa juga membaca :artikel dibawah ini untuk