Dengan XML kita hanya memikirkan format menulisnya sehingga mudah dimengerti oleh yang akan membaca file XML tersebut.
Di dalam .NET diberikan cara mudah untuk membuat dan membaca file XML. Misalnya diberikan format penulisan XML berikut, yang menggunakan attribute dan namespace.
Selanjutnya kode untuk membuatnya adalah sebagai berikut:
FileStream fs = new FileStream("C:\\MadridPlayer.xml", FileMode.Create);
var ListDataPlayer = BusinessClass.GetDataToXML();
XmlWriter w = XmlWriter.Create(fs);
w.WriteStartDocument();
w.WriteStartElement("ns0", "MT_Schaerdz_Req", "http://SCHAERDZ");
w.WriteAttributeString("xmlns", "ns0", null, "http://SCHAERDZ");
w.WriteStartElement("REAL_MADRID");
foreach (var xml in ListDataPlayer)
{
w.WriteStartElement("Player");
w.WriteElementString("NAME", xml.name);
w.WriteElementString("NATIONALITY", xml.nationality);
w.WriteElementString("AGE", xml.age);
w.WriteEndElement();
}
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndDocument();
w.Flush();
fs.Close();
Sedangkan untuk membaca file XML, dengan format XML seperti diatas ada beberapa macam cara. Dari yang sangat ribet sampai yang simple. Pada tulisan ini saya akan mencoba menuliskan cara membaca file XML dengan cara yang simple, mudah, praktis dan tidak bertele-tela. Cara inilah yang biasanya dicarai oleh para programmer, hehhee :D
Sebelumnya untuk cara yang sangat rumit dan panjang dapat dilihat pada TUTORIAL INI. Bagaimana? Mantab sekali kan tutorial tersebut? Nah, bagi yang ingin praktisnya saja, tanpa terlalu lama memahami kode tutorial yang panjang tersebut, dapat mengikuti langkah berikut:
XmlTextReader reader = new XmlTextReader("C:\\MadridPlayer.xml");
reader.Read(); // read XML
reader.Read(); // read MT_Schaerdz_Req
reader.Read(); // read REAL_MADRID
while (!reader.EOF)
{
reader.Read(); // read Player
if (reader.Name != "Player")
{
break;
}
reader.Read(); // read NAME, NATIONALITY, AGE
string nama = reader.ReadElementString("NAME");
string kebangsaan = reader.ReadElementString("NATIONALITY");
string umur = reader.ReadElementString("AGE");
InsertToDatabase(nama, kebangsaan, umur);
}
reader.Close();
Simple kaaan?
Read, Write, XML, .Net Framework, C#
No comments:
Post a Comment