مثال ها (XPath Examples)
اینجا با «مثال های XPath» قدم به قدم جلو می رویم. «XPath» زبان مسیر برای انتخاب گره هاست. ما روی فایل کتاب ها تمرین می کنیم و الگوهای پرکاربرد را می بینیم. جمله ها کوتاه اند و مثال ها عملی اند.
سند نمونه XML
در همه مثال ها از همین ساختار کتاب فروشی استفاده می کنیم.
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
انتخاب همه عنوان ها
این مسیر همه گره های title را برمی گرداند.
/bookstore/book/title
عنوانِ کتاب اول
با پرِدیکیتِ [1] اولین کتاب را می گیریم.
/bookstore/book[1]/title
متنِ همه قیمت ها
تابع text() متن داخل عنصر را برمی گرداند.
/bookstore/book/price[text()]
قیمت های بیشتر از 35
اول کتاب های گران را فیلتر کن، بعد قیمت شان را بگیر.
/bookstore/book[price > 35]/price
عنوانِ کتاب های گران تر از 35
همان فیلتر، اما این بار عنوان ها را برگردان.
/bookstore/book[price > 35]/title
گام های تمرینی سریع
- با سینتکس XPath مسیر پایه بساز.
- شرط داخل براکت اضافه کن. مثال:
[price > 35]. - برای انتخاب های دیگر، به محورها نگاه کن.
نکته: اگر چند نتیجه متفاوت خواستی، از عملگرها مثل | کمک بگیر.
جمع بندی سریع
- مسیرها از ریشه یا نسبی شروع می شوند.
- براکت ها برای فیلتر دقیق اند.
text()متن داخل عنصر را می دهد.- می توان چند مسیر را با
|ترکیب کرد. - روی همین فایل نمونه تمرین کن.