$1.99 Domains* at GoDaddy.com

C# ile XML Query Örneği

c-ders-127XML dokümanlarında nasıl sorgulama yapabileceğimizi basit bir örnek ile anlatmaya çalışacağız.

Dilerseniz hemen uygulamaya geçelim. 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. 

Kategoriler: C# Programlama, Web Programlama, XML, Yazılım

Tags: , , , ,

Yorumlar

Yorum Yok

Yorumunuzu Ekleyin

Yorum eklemek için giris yapmalısınız.