ایکس پی اچ دی گرامر
- صفحه قبلی ایکس پی اچ دی نود
- صفحه بعدی شاخصهای 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 ناشناخته استفاده میشوند.
واژههای عمومی | توضیح |
---|---|
* | گرههای عناصر را مطابقت دهید. |
@* | گرههای ویژگی را مطابقت دهید. |
node() | همه نوع گرهها را مطابقت دهید. |
مثال
در جدول زیر، برخی از عبارات مسیر و نتایج این عبارات را برشمردهایم:
عبارت مسیر | نتایج |
---|---|
/bookstore/* | انتخاب تمام فرزندان عناصر bookstore. |
//* | انتخاب تمام عناصر در مستند. |
//title[@*] | انتخاب تمام عناصر title که دارای ویژگی هستند. |
انتخاب چندین مسیر
با استفاده از علامت عملگر "|" در عبارت مسیر، میتوانید چندین مسیر را انتخاب کنید.
مثال
در جدول زیر، برخی از عبارات مسیر و نتایج این عبارات را برشمردهایم:
عبارت مسیر | نتایج |
---|---|
//book/title | //book/price | انتخاب تمام عناصر book و عناصر price. |
//title | //price | انتخاب تمام عناصر title و price در مستند. |
/bookstore/book/title | //price | انتخاب تمام عناصر title که به عنصر bookstore مرتبط هستند و تمام عناصر price در مستند. |
- صفحه قبلی ایکس پی اچ دی نود
- صفحه بعدی شاخصهای XPath