Xpath Sorgusu İle Xml İçerisindeki Verileri Süzme Yöntemleri

C#’da xml içerisindeki verilerimizi süzerek alabilmek için sorgu dili olarak XPATH kullanabilirsiniz. XPATH sorgulamasının nasıl yapıldığı ile ilgili bilgiye sayfanın devamından ulaşabilirsiniz.

Xpath sorgusu ile xml içerisindeki verileri süzme yöntemleri

C# içerisinde xml verileriniz için XMLDocument sınıfı kullanıyorsanız iki metodundan bahsetmek istiyorum bunlardan biri SelectSingleNode() diğer ise SelectNodes()’dur. SelectSingleNode() ile XPATH sözdizimi ile filtreleme yapılarak eşleşen tek elementi getirecektir dönen sonuç değeri XmlNode’dur ama SelectNodes ile XPATH sorgusu sonucunda birden fazla elment olarak XmlNodeList dönmektedir. XmlNodeList’i for-foreach gibi döngüler ile kolayca elmentleri dolaşabilirsiniz.

XPATH Sorguları ve Açıklamaları

XPath QueryDescription
.Geçerli element seçer.
..Geçerli elementin bir üstündeki elementi seçer.
*Geçerli element altında tüm elementleri seçer.
nodenameElement adı verilerek elementler seçilir.
/Kök element seçilir.
//Selects nodes from the current node that match the selection
expression no matter where they are.
//*Dökümandaki tüm elementler seçilir
/elementSelects the root element named element. Staring a path
with a / means you are using an absolute path to an element.
/element/*Kök elementin tüm alt elementlerini almanızı sağlar.
element/*Belirttiğiniz element adı ile eşleşen tüm elementlerin alt elementlerini almanızı sağlar.
element/childSelects the child elements which are a child of a specified child
element of the current node.
//elementDöküman hiyerarşisi içerisinde nerede olursa olsun belirttiğin element adı ile eşleşen tüm elementler döndürülür.
element//childBelittiğiniz element adı altında yine belirttiğiniz alt element adı ile eşleşen tüm elementler geri dönderilir.
@attributeAktif elementteki belirttiğiniz özelliği almanızı sağlar.
//@attributeDökümanın neresinde olursa olsun belirttiğiniz özellik adı ile eşleşen tüm elementler geri dönderilir.
@*Aktif elemente ait tüm attribute’leri dönderir.
element[i]Özellikle istediğiniz bir elemente indis değeri ile erişebilirsiniz.
text()Selects the text of all the child nodes of the current element.
//text()Dökümandaki her element’in metnini almanızı sağlar.
//element/text()Eşleşen tüm elementlerin metnini almanızı sağlar.
//element[name=’value’]Element adı ve element değeri ile eşleşen tüm alt elementleri elde edebilirsiniz.
//element[@attr=’value’]Belirttiğiniz özellik adı ve değeri ile eşleşen tüm elementleri elde edebilirsiniz.
5/5 - (1 vote)

Murat Öner sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et