عملگرها (XPath Operators)
در XPath، «عملگر (Operator)» برای محاسبه و فیلتر استفاده می شود. خروجی بیان XPath می تواند «مجموعه گره»، «رشته»، «بولین»، یا «عدد» باشد. با عملگرها، مسیرها را ترکیب می کنیم، اعداد را می سنجیم، و شرط ها را می نویسیم.
فهرست عملگرهای اصلی
لیست زیر از منبع است و پایه کار در فیلترهاست.
|اتحاد دو مسیرِ نتیجه.+جمع عددی.-تفریق عددی.*ضرب عددی.divتقسیم عددی.modباقیمانده تقسیم.=تساوی.!=نابرابری.< , <= , > , >=مقایسه عددی.andو منطقی.orیا منطقی.
اتحاد مسیرها با |
با | چند مسیر را هم زمان می گیریم. مثل جمع آوری عنوان ها و قیمت ها.
<!-- همه title ها و price ها در کل سند -->
//title | //price
<!-- title و price فقط زیر book -->
//book/title | //book/price
مقایسه عددی و برابری
با این عملگرها عناصر مناسب را فیلتر کن. مثال ها از منبع الهام گرفته اند.
<!-- قیمت برابر 9.80 -->
/bookstore/book[price = 9.80]
<!-- قیمت نابرابر 9.80 -->
/bookstore/book[price != 9.80]
<!-- کمتر از -->
/bookstore/book[price < 9.80]
<!-- کمتر یا مساوی -->
/bookstore/book[price <= 9.80]
<!-- بزرگ تر از -->
/bookstore/book[price > 9.80]
<!-- بزرگ تر یا مساوی -->
/bookstore/book[price >= 9.80]
منطق بولین با and / or
شرط ها را ترکیب کن؛ مثل فیلتر بین دو بازه یا چند مقدار.
<!-- قیمت بین 9.00 و 9.90 -->
/bookstore/book[price > 9.00 and price < 9.90]
<!-- قیمت 9.80 یا 9.70 -->
/bookstore/book[price = 9.80 or price = 9.70]
محاسبات عددی (+, -, *, div, mod)
در XPath می توان محاسبه کرد و نتیجه را سنجید. این الگوها کاربردی اند.
<!-- جمع/تفریق/ضرب/تقسیم/باقیمانده -->
/*[ (6 + 4) > 9 ]
/*[ (6 - 4) = 2 ]
/*[ (6 * 4) = 24 ]
/*[ (8 div 4) = 2 ]
/*[ (5 mod 2) = 1 ]
گام های عملی
- مسیر پایه را با محور بساز. مثال: محورهای XPath.
- پرِدیکیت را اضافه کن و عملگر مناسب بگذار.
- اگر لازم شد، با
|نتیجه ها را ترکیب کن.
نکته: برای نشانه گذاری شرط ها از براکت [] استفاده کن.
برای مرور نمونه های کامل تر به نمونه های XPath برو. اگر نحو را نیاز داری، صفحه سینتکس XPath را ببین.
جمع بندی سریع
|چند مسیر را یکی می کند.- مقایسه ها داخل براکت می آیند.
and/orشرط ها را ترکیب می کنند.divوmodبرای تقسیم اند.- خروجی XPath می تواند عدد، متن، بولین، یا مجموعه گره باشد.