قوانین گرامری 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 | انتخاب تمامی عناصر book که در عناصر فرزند bookstore قرار دارند. |
//book | انتخاب تمامی عناصر فرزند book، بدون توجه به اینکه در کدام مکان در مستند قرار دارند. |
bookstore//book | انتخاب تمامی عناصر book که در نسل bookstore قرار دارند، بدون توجه به اینکه در کدام مکان زیر bookstore قرار دارند. |
//@lang | تمام ویژگیهای نامگذاری شده lang را انتخاب کنید. |
شرط (Predicates)
شرط برای پیدا کردن گره خاص یا گرههایی که دارای مقدار مشخصی هستند استفاده میشود.
شرط در میان برادران قرار دارد.
مثال
در جدول زیر، برخی از عبارات مسیر با شرط و نتایج این عبارات را لیست کردهایم:
عبارت مسیر | نتیجه |
---|---|
/bookstore/book[1] | اولین عناصر book که فرزند bookstore هستند را انتخاب کنید. |
/bookstore/book[last()] | آخرین عناصر book که فرزند bookstore هستند را انتخاب کنید. |
/bookstore/book[last()-1] | دومین عناصر book که فرزند bookstore هستند را انتخاب کنید. |
/bookstore/book[position()<3] | دو اولین عناصر book که فرزند bookstore هستند را انتخاب کنید. |
//title[@lang] | تمام عناصر title که ویژگی نامگذاری شده lang دارد را انتخاب کنید. |
//title[@lang='eng'] | تمام عناصر title که ویژگی lang با مقدار eng دارد را انتخاب کنید. |
/bookstore/book[price>35.00] | تمام عناصر book موجود در bookstore که دارای ویژگی price با مقدار بیشتر از 35.00 باشد را انتخاب کنید. |
/bookstore/book[price>35.00]/title | تمام عناصر title موجود در عناصر book bookstore که دارای ویژگی price با مقدار بیشتر از 35.00 باشد را انتخاب کنید. |
انتخاب گرههای ناشناخته
واژههای عمومی XPath برای انتخاب عناصر XML ناشناخته استفاده میشود.
واژههای عمومی | توضیح |
---|---|
* | گرههای عناصر را تطبیق دهید. |
@* | گرههای ویژگی را تطبیق دهید. |
گره() | همه نوع گره را تطبیق دهید. |
مثال
در جدول زیر، برخی از عبارات مسیر و نتایج این عبارات را لیست کردهایم:
عبارت مسیر | نتیجه |
---|---|
/bookstore/* | تمام فرزندان عناصر bookstore را انتخاب کنید. |
//* | تمام عناصر موجود در مستند را انتخاب کنید. |
//title[@*] | تمام عناصر title دارای ویژگی را انتخاب کنید. |
انتخاب چندین مسیر
با استفاده از علامت عملگر "|" در عبارات مسیر، میتوانید چندین مسیر را انتخاب کنید.
مثال
در جدول زیر، برخی از عبارات مسیر و نتایج این عبارات را لیست کردهایم:
عبارت مسیر | نتیجه |
---|---|
//book/title | //book/price | همه عناصر book را برای عناصر title و price انتخاب کنید. |
//title | //price | انتخاب تمام عناصر title و price در مستند. |
/bookstore/book/title | //price | انتخاب تمام عناصر title که به عنصر bookstore مرتبط هستند و تمام عناصر price در مستند. |
- صفحه قبلی نویدهای XPath
- صفحه بعدی شاخصهای XPath