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 التي تحتوي على خاصية تحمل الاسم lang.
//title[@lang='en'] اختيار جميع عناصر title التي تحتوي على الخاصية lang وتكون قيمتها "en".
/bookstore/book[price>35.00] اختيار جميع عناصر book الموجودة داخل عناصر bookstore التي تحتوي على قيمة price أكبر من 35.00.
/bookstore/book[price>35.00]/title 选择 bookstore 元素的 book 元素中,price 元素值大于 35.00 的所有 title 元素。

XPath 教程

您将在我们的 XPath 教程中学到有关 XPath 的更多知识。