XML Okuma

XML Okuma

MicrosoftXML dosyalarını okuma ile ilgili bir bilgi paylasacagim. Oncelikle dataset ile XML il okuyacagim ve bu bircok yazilimcinin tercih ettig yontemdir , daha sonra ise XML de ki herhangi bir nodu nasil okuyacagini anlatacagim. XML yapisi sagidaki gibidir.

Dataset kullarak butun XML in node larini okuyup bunu datasete atar ve istedigimiz nodu datasetin table lari arasinda dolasarak elde ederiz.

string xml = @”XML.xml”;

DataSet ds = new DataSet();

ds.ReadXml(xml);

Peki sadece name nodundaki degerlere erismek istiyorsak ne yapacagiz? Orda da name nodunu sorgulariz. Name nodunu sorgulamak icin oncelikle onun bulundugu noda SelectNodes ile gitmemiz gerekir daha sonra da Foreach yapisi ile bu nodda doner ve InnerText ile name node larindaki degeri elde ederiz. Bunu da ornegi asagidadir.

XmlDocument doc = new XmlDocument();

doc.Load(@”XML.xml”);

XmlNodeList nodes = doc.SelectNodes(“TaskList/Flows/Flow/name”);

foreach (XmlNode node in nodes)

{

      MessageBox.Show(node.InnerText);

}

<?xml version=”1.0″ encoding=”ISO-8859-9″?>
<TaskList>
<Flows>
<Flow>
<name>Evrak Daðýtým</name>
<Columns>
<Column>Akýþ Ýsmi</Column>
<Column>Evrak Konusu</Column>
<Column>ID</Column>
<Column>Geldiði Kurum</Column>
<Column>Gönderim Tarihi</Column>
<Column>Kayit No</Column>
<Column>Yevmiye No</Column>
<Column>Gönderilen</Column>
</Columns>

</Flow>
<Flow>
<name>Evrak Akýþ</name>
<Columns>
<Column>Akýþsd</Column>
<Column>Evr</Column>
<Column>Isd</Column>
<Column>rum</Column>
<Column>Tarihi</Column>
<Column>No</Column>
<Column>Yevmi</Column>
<Column>Gönde</Column>
</Columns>
</Flow>
</Flows>
</TaskList>

Leave a Reply

Your email address will not be published. Required fields are marked *