Load XML and Image in .NET

Seharian ini saya utak-atik BizTak project (benda yang saya gunakan untuk KP), tapi kok ya mentok mulu gitu. Sambil ngisi waktu baca2 aggregator dan ketemu post nya damas buat tutorial load xml dan image. Nah post ini adalah tutorial yang sama tp buat di lingkungan wpf, winform juga sama kayaknya, silverlight juga. Maklum, hanya .NET yang saya bisa :))

Skema file xml nya sama dengan yang ada di postingan tadi, dengan isi diubah seperlunya

<data>
<gambar url="Gambar/gambar1.png"/>
<gambar url="Gambar/gambar2.png"/>
<gambar url="Gambar/gambar3.png"/>
</data>

Nah, untuk manipulasi xml dan loading file nya ketikkan kode berikut :

public Window1()
{
InitializeComponent();
LoadXML("gambar.xml");
}
public void LoadXML(string fileName)
{
XDocument doc = XDocument.Load(fileName);
List<string> pathList = new List<string>();
foreach (var element in doc.Descendants("gambar"))
{
pathList.Add(element.FirstAttribute.Value);
}
//draw images
AddImages(pathList);
}
private void AddImages(List<string> path)
{
foreach (var x in path)
{
Image gambar = new Image();
gambar.Source = new BitmapImage(new Uri(x,UriKind.Relative));
MyCanvas.Children.Add(gambar);
}
}

Jangan lupa add namespace berikut

Using System.Xml.Linq;

Sedikit penjelasan,

XDocument doc = XDocument.Load(fileName)

Berguna untuk load dokumen xml dan diassign ke tipe XDocument, representasi XmlDoc yang dikenali LINQ di .NET.

foreach (var element in doc.Descendants("gambar"))
{
pathList.Add(element.FirstAttribute.Value);
}

Nah, kalo ini untuk iterasi pada setiap anak di file xml yang ber-tag gambar dan mengambil nilai atributnya.

Penggunaan Linq to Xml memang memudahkan pemrogram untuk memanipulasi dokumen XML meski fitur ini hanya bisa dinikmati mulai dari .NET 3,5 kalo saya tidak salah. Terimakasih buat damas yang udah ngasi inspirasi buat ngisi waktu. Teruskan tutorialnya,ntar tak conver ke .NET,,,halah.

Kode ada disini

3 thoughts on “Load XML and Image in .NET

  1. Haha, .NET maupun Flash sama-sama keren bos, tergantung penggunaan kan,

    yang paling penting si, jangan ampe fanatik sama platform tertentu, ga banget, hoho

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s