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

در این بخش، اجازه دهید با استفاده از مثال‌ها، زبان XPath پایه‌ای را یاد بگیریم.

مستند XML نمونه

ما در مثال‌های زیر از این مستند XML استفاده خواهیم کرد:

"books.xml" :

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
  <title lang="ur">اکی داگیٹ اٹلیائی</title>
  <author>جیا د لاورنتیس</author>
  <year>2005</year>
  <price>30.00</price>
</book>
<book category="BACHCHE">
  <title lang="ur">هری پاتر</title>
  <author>جی کی. رولینگ</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، XML دستاویز میں نقاط کو انتخاب کرنے کیلئے selectNodes() مہمت استعمال کرتا ہے:

xmlDoc.selectNodes(xpath);

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

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

تمام title کو انتخاب کیا گیا ہے

مثال کے لئے، تمام title نقاط کو انتخاب کیا گیا ہے:

/bookstore/book/title

آپ خود سنجید

پہلے book کا title بچھائی گئی

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

/bookstore/book[1]/title

آپ خود سنجید

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

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

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

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

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

آپ خود سنجید

تمام قیمت بچھائی گئی

درج ذیل مثال میں price نود میں تمام متن بچھائی گئی ہیں:

/bookstore/book/price/text()

آپ خود سنجید

قیمت 35 سے زیادہ کی price نود بچھائی گئی

درج ذیل مثال میں قیمت 35 سے زیادہ کی تمام price نود بچھائی گئی ہیں:

/bookstore/book[price>35]/price

آپ خود سنجید

قیمت 35 سے زیادہ کی title نود بچھائی گئی

درج ذیل مثال میں قیمت 35 سے زیادہ کی تمام title نود بچھائی گئی ہیں:

/bookstore/book[price>35]/title

آپ خود سنجید