نوعهای XPath
- صفحه قبلی نودهای XPath
- صفحه بعدی آکسهای XPath
XPath از طریق عبارات مسیر برای انتخاب گرهها یا مجموعه گرههای مستند XML استفاده میکند. گرهها از طریق مسیر (path) یا مرحله (steps) انتخاب میشوند.
مستند نمونه XML
ما در مثالهای زیر از این مستند XML استفاده خواهیم کرد.
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="fa">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="fa">Learning XML</title> <price>39.95</price> </book> </bookstore>
انتخاب گرهها
XPath از طریق عبارات مسیر در مستند XML انتخاب میکند. گرهها از طریق مسیر یا مرحله انتخاب میشوند.
در اینجا مسیرهای مندکاتور بیشترین استفاده را دارند لیست شدهاند:
عبارت | توضیح |
---|---|
nodename | همه فرزندان این گره را انتخاب کنید. |
/ | از ریشه گرهها انتخاب کنید. |
// | از گره فعلی، گرههای مستند را انتخاب کنید، بدون توجه به موقعیت آنها. |
. | انتخاب گره فعلی. |
.. | انتخاب پدر گره فعلی. |
@ | انتخاب attribute. |
مثال
در جدول زیر، ما برخی از مسیرهای مندکاتور و نتایج آنها را لیست کردهایم:
عبارت مسیر | نتیجه |
---|---|
bookstore | انتخاب همه فرزندان bookstore. |
/bookstore |
انتخاب عنصر ریشه bookstore. توضیح: اگر مسیر با خط تیره افقی ( / ) شروع شود، این مسیر همیشه به مسیر مطلق یک عنصر اشاره دارد! |
bookstore/book | انتخاب همه عناصر book فرزند bookstore. |
//book | انتخاب همه عناصر book فرزند، بدون توجه به موقعیت آنها در مستند. |
bookstore//book | انتخاب همه عناصر book فرزند bookstore بدون توجه به موقعیت آنها در bookstore. |
//@lang | انتخاب همه attributeهای نامگذاری شده 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 که دارند attribute lang. |
//title[@lang='eng'] | انتخاب همه عناصر title که دارند attribute lang با value eng. |
/bookstore/book[price>35.00] | انتخاب همه عناصر book در bookstore و همچنین مقدار element price باید بزرگتر از 35.00 باشد. |
/bookstore/book[price>35.00]/title | انتخاب همه عناصر title در عنصر book bookstore که ارزش ویژگی price بیشتر از 35.00 باشد. |
انتخاب نودهای ناشناخته
مثالگذار XPath میتواند برای انتخاب عناصر XML ناشناخته استفاده شود.
مثالگذار | توضیح |
---|---|
* | همه نود عنصر را تطبیق دهید. |
@* | همه نود ویژگی را تطبیق دهید. |
node() | همه نوع نود را تطبیق دهید. |
مثال
در جدول زیر، برخی از عبارتهای مسیر و نتایج این عبارتها را لیست کردهایم:
عبارت مسیر | نتیجه |
---|---|
/bookstore/* | انتخاب همه فرزندان عنصر bookstore. |
//* | انتخاب همه عناصر در مستند. |
//title[@*] | انتخاب همه عناصر title با ویژگی. |
انتخاب چندین مسیر
با استفاده از عملگر '|' در عبارت مسیر، میتوانید چندین مسیر را انتخاب کنید.
مثال
در جدول زیر، برخی از عبارتهای مسیر و نتایج این عبارتها را لیست کردهایم:
عبارت مسیر | نتیجه |
---|---|
//book/title | //book/price | انتخاب همه عناصر title و price در عنصر book. |
//title | //price | انتخاب همه عناصر title و price در مستند. |
/bookstore/book/title | //price | انتخاب همه عناصر title که به عنصر bookstore متعلق هستند و همه عناصر price در مستند. |
- صفحه قبلی نودهای XPath
- صفحه بعدی آکسهای XPath