XML و XPath

XPath چیست؟

XPath یکی از عناصر اصلی استاندارد XSLT است.

XPath می‌تواند برای تعیین (نقشه‌برداری) عناصر و ویژگی‌های مستند XML استفاده شود

XPath

XPath
  • XPath برای تعریف بخش‌های مختلف مستند XML استفاده می‌شود
  • XPath از عبارات مسیر برای جستجو در مستند XML استفاده می‌کند
  • XPath شامل کتابخانه‌های استاندارد است
  • XPath یکی از عناصر اصلی XSLT و XQuery است
  • XPath یک استاندارد پیشنهادی W3C است

عبارات مسیر XPath

XPath از عبارات مسیر برای انتخاب گره‌ها یا مجموعه‌های گره در مستند XML استفاده می‌کند. این عبارات مسیر بسیار شبیه به عباراتی هستند که هنگام استفاده از سیستم فایل رایانه‌ای سنتی می‌بینید.

عبارات XPath می‌توانند در زبان‌هایی مانند JavaScript، Java، XML Schema، PHP، Python، C و C++ و بسیاری از زبان‌های دیگر استفاده شوند.

XPath برای XSLT استفاده می‌شود

XPath یکی از عناصر اصلی استاندارد XSLT است.

اگر XPath را درک کنید، می‌توانید به طور کامل از XSL استفاده کنید.

مثال XPath

ما از زیر مستند XML استفاده خواهیم کرد:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="美食">
  <title lang="zh">雅舍谈吃</title>
  <author>梁实秋</author>
  <year>2013</year>
  <price>35</price>
</book>
<book category="کودکان">
  <title lang="zh">پدر شگفت‌انگیز فک‌ها</title>
  <author>رولد دار</author>
  <year>2009</year>
  <price>10.00</price>
</book>
<book category="ادبیات">
  <title lang="zh">تغییر آشنا به ناشناخته</title>
  <author>زیگموند باومان</author>
  <author>پیتر هافنا</author>
  <author>کورت کاگل</author>
  <author>جیمز لین</author>
  <author>وایدیناتان نگراجان</author>
  <year>2003</year>
  <price>49.99</price>
</book>
<book category="سیاسی">
  <title lang="zh">مقاله در مورد دموکراسی در آمریکا</title>
  <author>تاکوویل</author>
  <year>1989</year>
  <price>60.00</price>
</book>
</bookstore>

در جدول زیر، برخی از عبارت‌های XPath و نتایج آن‌ها لیست شده‌اند:

عبارت XPath نتایج
/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 که attribute lang داشته باشد.
//title[@lang='en'] انتخاب همه عناصر title که attribute lang داشته باشد و مقدار آن "en" باشد.
/bookstore/book[price>35.00] انتخاب همه عناصر book در bookstore که مقدار attribute price بزرگتر از 35.00 باشد.
/bookstore/book[price>35.00]/title تمام عناصر title که در عناصر book انتخاب bookstore قرار دارند و ارزش عنصر price بیشتر از 35.00 است.

آموزش XPath

شما در آموزش XPath ما خواهید آموخت XPath اطلاعات بیشتری.