ایکس پی اچ مثال

اس سیکشن میں، ہم کچھ بنیادی XPath خواندگی کی تربیت کریں گے:

XML نمونہ ڈاکومنٹ

ہم وہیں کچھ مثالوں میں اس XML ڈاکومنٹ کو استعمال کریں گے:

"books.xml" :

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>
<book category="WEB">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>
<book category="WEB">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>
</bookstore>

آپ کے براوزر میں اس "books.xml" دستاویز کو دیکھیئے.

XML دستاویز لوڈ کرنا

تمام جدید براوزر، XMLHttpRequest کے ذریعے XML دستاویز کو لوڈ کرنے کی مدد سے استعمال کرتے ہیں۔

زیادہ تر جدید براوزر کے لئے کد:

var xmlhttp=new XMLHttpRequest()

پرانی میکروسافٹ براوزر (IE 5 اور 6) کے لئے کد:

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

نکال نکالنا

نااچار، Internet Explorer اور دیگر XPath کو استعمال کرنے والے متبادل طریقوں سے مختلف ہیں۔

اپنے مثال میں، زیادہ تر براوزر کے لئے قابل استعمال کوئی کد شامل کیا گیا ہے۔

Internet Explorer، selectNodes() کی مدد سے XML دستاویز سے نکال کو استعمال کرتا ہے:

xmlDoc.selectNodes(xpath);

Firefox، Chrome، Opera اور Safari، evaluate() کی مدد سے XML دستاویز سے نکال کو استعمال کرتے ہیں:

xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);

تمام title کا انتخاب

درج ذیل مثال میں تمام title نکال میں:

/bookstore/book/title

خودتان امتحان کنید

پہلے book کا title نکالنا

درج ذیل مثال میں bookstore علامت کے نیچے پہلے book علامت کا title نکالنا:

/bookstore/book[1]/title

خودتان امتحان کنید

یہاں ایک مسئلہ ہے۔ بالا مثال میں IE اور دیگر براوزر میں مختلف نتائج نکالنا ہوتا ہے۔

IE5 اور اس سے اوپر کی نسلیں [0] کو پہلے نکال کو دیکھتی ہیں، جبکہ W3C کی معیارات کے مطابق، یہ [1] ہونا چاہئیے۔

IE5+ میں [0] اور [1] کے مسئلے کو حل کرنے کے لئے، XPath کو زبان کا انتخاب (SelectionLanguage) کرسکتا ہے۔

درج ذیل مثال میں bookstore علامت کے نیچے پہلے book علامت کا title نکالنا:

xml.setProperty("SelectionLanguage","XPath");
xml.selectNodes("/bookstore/book[1]/title");

خودتان امتحان کنید

تمام قیمت کا انتخاب

درج ذیل مثال میں price نکال میں تمام متن کو نکالنا:

/bookstore/book/price/text()

خودتان امتحان کنید

چنن قیمت 35 سے زیادہ کی قیمت کا price نکالنا

مثال زیر تمام گره‌های price با قیمت بالاتر از 35 را انتخاب می‌کند:

/bookstore/book[price>35]/price

خودتان امتحان کنید

گره‌های title با قیمت بالاتر از 35 انتخاب می‌شوند

مثال زیر تمام گره‌های title با قیمت بالاتر از 35 را انتخاب می‌کند:

/bookstore/book[price>35]/title

خودتان امتحان کنید