XPath গ্রন্থাক্ষর
- পূর্ববর্তী পৃষ্ঠা XPath নোড
- পরবর্তী পৃষ্ঠা XPath অক্ষ
XPath একটি পাথ এক্সপ্রেসন ব্যবহার করে XML ডকুমেন্টের নোড বা নোড সেটকে বেছে নেয়। নোডগুলো পাথ (path) বা স্টেপ (steps) দ্বারা বেছে নেয় হয়。
XML ইনস্ট্যান্স ডকুমেন্ট
আমরা নিচের উদাহরণে এই XML ডকুমেন্টটি ব্যবহার করব।
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
নোডগুলো বেছে নেওয়া
XPath একটি পাথ এক্সপ্রেসন ব্যবহার করে XML ডকুমেন্টে নোডগুলোকে বেছে নেয়। নোডগুলো পাথ বা স্টেপ দ্বারা বেছে নেয় হয়。
下面列出了最有用的路径表达式:
表达式 | বর্ণনা |
---|---|
nodename | 选取此节点的所有子节点。 |
/ | 从根节点选取。 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
. | 选取当前节点。 |
.. | 选取当前节点的父节点。 |
@ | 选取属性。 |
প্রয়োগ
在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:
পাথ এক্সপ্রেশন | ফলাফল |
---|---|
bookstore | 选取 bookstore 元素的所有子节点。 |
/bookstore |
选取根元素 bookstore。 注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径! |
bookstore/book | bookstore ইলেকট্রনিকের সমস্ত সাব-ইলেকট্রনিক বুক ইলেকট্রনিককে নির্বাচন করুন |
//book | সমস্ত book সাব-ইলেকট্রনিককে নির্বাচন করুন যেমন তা ডকুমেন্টের কোনও স্থানে হোক না কেন |
bookstore//book | bookstore ইলেকট্রনিকের সমস্ত সংশ্লিষ্ট বুক ইলেকট্রনিককে নির্বাচন করুন যেমন তা bookstore-র নীচে কোনও স্থানে হোক না কেন |
//@lang | নামকরণকারী lang সমস্ত অ্যাট্রিবিউটকে নির্বাচন করুন |
ব্যাক্রিয়াকারী (Predicates)
ব্যাক্রিয়াকারী একটি নির্দিষ্ট নোড বা নির্দিষ্ট মানবিত্ত নোড অনুসন্ধান করার জন্য ব্যবহৃত
ব্যাক্রিয়াকারী দিকনির্দেশক বার্ষিকণের মধ্যে স্থাপিত
প্রয়োগ
নিচের ট্যাবলে, আমরা কিছু ব্যাক্রিয়াকারী পথ এবং তার ফলাফল তালিকাভুক্ত করেছি
পাথ এক্সপ্রেশন | ফলাফল |
---|---|
/bookstore/book[1] | বুকস্টোর ইলেকট্রনিকের সাব-ইলেকট্রনিকের প্রথম বুক ইলেকট্রনিককে নির্বাচন করুন |
/bookstore/book[last()] | বুকস্টোর ইলেকট্রনিকের সাব-ইলেকট্রনিকের শেষবিশেষের বুক ইলেকট্রনিককে নির্বাচন করুন |
/bookstore/book[last()-1] | বুকস্টোর ইলেকট্রনিকের সাব-ইলেকট্রনিকের শেষবিশেষের দুইটি বুক ইলেকট্রনিককে নির্বাচন করুন |
/bookstore/book[position()<3] | বুকস্টোর ইলেকট্রনিকের সবচেয়ে প্রথম দুইটি সাব-ইলেকট্রনিক বুক ইলেকট্রনিককে নির্বাচন করুন |
//title[@lang] | সমস্ত নাম হলো lang অ্যাট্রিবিউট সম্পন্ন title ইলেকট্রনিককে নির্বাচন করুন |
//title[@lang='eng'] | সমস্ত title ইলেকট্রনিককে নির্বাচন করুন যারা eng মানের lang অ্যাট্রিবিউট রয়েছে |
/bookstore/book[price>35.00] | বুকস্টোর ইলেকট্রনিক সমস্ত বুক ইলেকট্রনিককে নির্বাচন করুন যারা প্রাইস ইলেকট্রনিকের মান ৩৫.০০ বেশি হয় |
/bookstore/book[price>35.00]/title | bookstore এলিমেন্টের অন্তর্গত book এলিমেন্টের সকল title এলিমেন্ট চিহ্নিত করুন, যার price এলিমেন্টের মান 35.00 এর বেশি। |
অজ্ঞাত নোড চিহ্নিত করুন
XPath সামগ্রিক ব্যবহার করে, অজ্ঞাত XML এলিমেন্টকে চিহ্নিত করতে ব্যবহৃত হয়
সামগ্রিক | বর্ণনা |
---|---|
* | কোনও ধরনের এলিমেন্টকে ম্যাচ করুন |
@* | কোনও অ্যাট্রিবিউট নোডকে ম্যাচ করুন |
node() | কোনও ধরনের নোডকে ম্যাচ করুন |
প্রয়োগ
নিচের টেবিলে, আমরা কিছু পাথ এক্সপ্রেশন এবং এই এক্সপ্রেশনের ফলাফল তালিকাভুক্ত করেছি:
পাথ এক্সপ্রেশন | ফলাফল |
---|---|
/bookstore/* | bookstore এলিমেন্টের সকল সাব-এলিমেন্ট চিহ্নিত করুন。 |
//* | ডকুমেন্টের সকল এলিমেন্ট চিহ্নিত করুন。 |
//title[@*] | সকল অ্যাট্রিবিউট সহ সকল title এলিমেন্ট চিহ্নিত করুন。 |
পাথ চিহ্নিত করুন
পাথ এক্সপ্রেশনের মধ্যে '||' অপারেটর ব্যবহার করে, আপনি একাধিক পাথ চিহ্নিত করতে পারেন。
প্রয়োগ
নিচের টেবিলে, আমরা কিছু পাথ এক্সপ্রেশন এবং এই এক্সপ্রেশনের ফলাফল তালিকাভুক্ত করেছি:
পাথ এক্সপ্রেশন | ফলাফল |
---|---|
//book/title | //book/price | book এলিমেন্টের সকল title এবং price এলিমেন্ট চিহ্নিত করুন。 |
//title | //price | ডকুমেন্টের সকল title এবং price এলিমেন্ট চিহ্নিত করুন。 |
/bookstore/book/title | //price | bookstore এলিমেন্টের অন্তর্গত book এলিমেন্টের সকল title এলিমেন্ট এবং ডকুমেন্টের সকল price এলিমেন্ট চিহ্নিত করুন。 |
- পূর্ববর্তী পৃষ্ঠা XPath নোড
- পরবর্তী পৃষ্ঠা XPath অক্ষ