محورهای 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 | تمام فرزندان 孙 از نقطه فعلی انتخاب شوند. |
- صفحه قبلی نحوه استفاده از XPath
- صفحه بعدی عملگرهای XPath