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.
}