XPath উদাহরণ

এই অধ্যায়ে, আমরা কিছু মৌলিক XPath বিষয় শিখতে চাই:

XML উদাহরণ ডকুমেন্ট

আমরা নিচের উদাহরণে এই XML ডকুমেন্টটি ব্যবহার করব:

"books.xml" :

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
  <title lang="en">প্রত্যেকদিনের ইতালীয়</title>
  <author>জিয়াডা ডে লুয়ারেন্টিস</author>
  <year>2005</year>
  <price>30.00</price>
</book>
<book category="CHILDREN">
  <title lang="en">হ্যারি পটার</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 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 সেট করা যেতে পারে (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

আপনার হাতে পরীক্ষা করুন