4 Temmuz 2013 Perşembe

C# ile XMLQuery Örneği

Yeni bir Asp.Net Web Application açın ve adını XmlQuery olarak ayarlayın. Ardından projeye yeni bir xml doküman ekleyin ve adını Kayıtlar.Xml olarak ayarlayın. Xml dokümanın yapısını aşağıdaki gibi düzenleyin.

<?xml version="1.0" encoding="utf-8" ?>
<
Kayitlar>
<
Kayit id="1" tip="A">
<
Adi>Tolga</Adi>
<
Soyadi>Güler</Soyadi>
<
Numarası>1544747</Numarası>
</
Kayit>
<
Kayit id="2" tip="B">
<
Adi>Utku</Adi>
<
Soyadi>Selen</Soyadi>
<
Numarası>4577877</Numarası>
</
Kayit>
<
Kayit id="3" tip="B">
<
Adi>Murat</Adi>
<
Soyadi>Kula</Soyadi>
<
Numarası>8787878</Numarası>
</
Kayit>
<
Kayit id="4" tip="C">
<
Adi>Argun</Adi>
<
Soyadi>Çelikten</Soyadi>
<
Numarası>7454621</Numarası>
</
Kayit>
</
Kayitlar>

WebForm1.aspx.cs dosyasına aşağıdaki kodları ekleyin.


using System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
using
System.Xml;
namespace
XmlQuery
{
public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
XmlNodeList Isimler,Isimler2,Isimler3,Isimler4,Isimler5;
//XmlNodeList türinden değişkenlerimizi tanımlıyoruz.
XmlTextReader rdr = new XmlTextReader("http://localhost/XmlQuery/kayitlar.xml");
// XmlTextReader sınıfı yardımı ile xml dökümanına erişiyoruz.
XmlDocument MyXmlDoc = new XmlDocument();
MyXmlDoc.Load(rdr);
//XmlDocument sınıfını xml dökümanı üzerinde işlem yapabilmek için kullanıyoruz


// Xml domüanından id si 1 olan isimleri seçmek için
Isimler = MyXmlDoc.SelectNodes("/Kayitlar/Kayit[@id='1']/Adi");
/* XmlDocumen.SelectNodes metoduna parametre olarak verdiğimiz XPATH
e dikkat edin.
*/

for(int i = 0;i < Isimler.Count;i++)
Response.Write(Isimler.Item(i).InnerXml.ToString()+"<br>");
// Sonuç "Tolga" olacaktır.
// id si 1 veya 2 olan kayıtlar için
Isimler2 = MyXmlDoc.SelectNodes("/Kayitlar/Kayit[@id='1' or @id='2']/Adi");
for(int i = 0;i < Isimler2.Count;i++)
Response.Write(Isimler2.Item(i).InnerXml.ToString()+"<br>");
// Sonuç "Tolga" ve "Utku" olacaktır.
// id si 1 ve tipi A olan kayıtlar için
Isimler3 = MyXmlDoc.SelectNodes("/Kayitlar/Kayit[@id='1' and @tip='A']/Adi");
for(int i = 0;i < Isimler3.Count;i++)
Response.Write(Isimler3.Item(i).InnerXml.ToString()+"<br>");
// Sonuç "Tolga" olacaktır.
// tipi B olan kayıtların adının ilk iki harfi "Ut" olanlar
Isimler4 = MyXmlDoc.SelectNodes("/Kayitlar/Kayit[@tip='B']/Adi[substring(.,1,2) ='Ut']");
for(int i = 0;i < Isimler4.Count;i++)
Response.Write(Isimler4.Item(i).InnerXml.ToString()+"<br>");
// Sonuç "Utku" olacaktır.
// tipi B olan kayıtların adında "ura" geçenler
Isimler5 = MyXmlDoc.SelectNodes("/Kayitlar/Kayit[@tip='B']/Adi[contains(.,'ura')]");
for(int i = 0;i < Isimler5.Count;i++)
Response.Write(Isimler5.Item(i).InnerXml.ToString()+"<br>");
// Sonuç "Murat" olacaktır.
}
}
}

Siz örnekleri istediğiniz gibi geliştirip çoğaltabilirsiniz.



Hiç yorum yok:

Yorum Gönder