محورهای XPath (Axes)
- صفحه قبلی قواعد XPath
- صفحه بعدی عناصر محاسباتی XPath
مستند نمونه 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
محور میتواند مجموعه گزینههایی را که در برابر گزینه فعلی تعریف میشود، مشخص کند.
نام محور | نتیجه |
---|---|
ancestor | تمام گزینههای والد و پدربزرگ و مادربزرگ گزینه فعلی را انتخاب کنید. |
ancestor-or-self | تمام گزینههای والد و پدربزرگ و مادربزرگ گزینه فعلی و گزینه خود را انتخاب کنید. |
attribute | انتخاب تمام ویژگیها |
child | انتخاب تمام فرزندان عناصر |
descendant | تمام گزینههای فرزند و نوههای گزینه فعلی را انتخاب کنید. |
descendant-or-self | تمام گزینههای فرزند و نوههای گزینه فعلی و گزینه خود را انتخاب کنید. |
following | تمام گزینههای بعد از تگ پایان گزینه فعلی در مستند را انتخاب کنید. |
namespace | گزینه تمام گزینههای نامگذاری شده با گزینه فعلی را انتخاب کنید. |
parent | گزینه والد گزینه فعلی را انتخاب کنید. |
preceding | تمام گزینههای قبل از تگ آغازین گزینه فعلی در مستند را انتخاب کنید. |
preceding-sibling | گزینه تمام گزینههای برابر با گزینه فعلی را انتخاب کنید. |
self | گزینه گره فعلی را انتخاب کنید. |
عبارت مسیرهای مکان
مسیرهای مکان میتوانند مطلق یا نسبی باشند.
مکمل سمت چپ از یک افقی عمودی ( / ) آغاز میشود، در حالی که مسیرهای نسبی اینطور نیستند. در هر دو حالت، مسیر مکان شامل یک یا چند قدم است که هر کدام با افقی عمودی جدا میشوند:
مسیر مکانیابی مطلق:
/step/step/...
مسیر مکانیابی نسبی:
step/step/...
هر گام بر اساس گرههای موجود در مجموعه فعلی گرهها محاسبه میشود.
گام (step) شامل:
- محور (axis)
- تعریف ارتباط درخت گرههای انتخاب شده با گره فعلی
- تست گره (node-test)
- تعیین گرههایی در محور خاص
- صفر یا بیشتر استدلالها (predicate)
- بیشتر از گرههای انتخاب شده بهره ببرید
قواعد محور:
نام محور::تست گره[استدلال]
مثال
مثال | نتیجه |
---|---|
child::book | انتخاب تمام فرزندان book که به آن گره متعلق هستند |
attribute::lang | انتخاب ویژگی lang |
child::* | انتخاب تمام فرزندان عناصر |
attribute::* | انتخاب تمام ویژگیها |
child::text() | انتخاب تمام فرزندان متن |
child::node() | انتخاب تمام فرزندان گره |
descendant::book | انتخاب تمام نسلهای book |
ancestor::book | انتخاب تمام اجداد book |
ancestor-or-self::book | انتخاب تمام اجداد book و خود این گره (اگر این گره گره book باشد) |
child::*/child::price | تمام فرزندان node با نام price انتخاب شوند. |
- صفحه قبلی قواعد XPath
- صفحه بعدی عناصر محاسباتی XPath