مثال على XPath
- الصفحة السابقة عناصر الحساب XPath
- الصفحة التالية مقدمة إلى XSLT
في هذا الفصل، سنعلم بعض الجمل الأساسية لـ XPath من خلال الأمثلة.
مثال XML
نحن سنستخدم هذا الملف XML في الأمثلة التالية:
"books.xml" :
<?xml version="1.0" encoding="ISO-8859-1"?> <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>
تحميل مستند XML
يدعم جميع المتصفحات الحديثة استخدام XMLHttpRequest لتحميل مستندات XML.
كود للتعامل مع معظم المتصفحات الحديثة:
var xmlhttp=new XMLHttpRequest()
كود للتعامل مع المتصفحات القديمة من Microsoft (IE 5 و 6):
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
اختيار العناصر
للأسف، يتم التعامل مع XPath بشكل مختلف من قبل Internet Explorer والأجهزة الأخرى.
في مثالنا، يحتوي الكود على تعليمات تناسب معظم المتصفحات الشائعة.
يستخدم Internet Explorer طريقة selectNodes() لاختيار العناصر من مستند XML:
xmlDoc.selectNodes(xpath);
يستخدم Firefox و Chrome و Opera و Safari طريقة evaluate() لاختيار العناصر من مستند XML:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
اختيار جميع العناصر title
في المثال التالي يتم اختيار جميع العناصر title
/bookstore/book/title
اختيار عنوان العنصر book الأول
في المثال التالي يتم اختيار عنوان العنصر book الأول في bookstore
/bookstore/book[1]/title
هناك مشكلة. المثال السابق ينتج نتائج مختلفة في IE وأجهزة الاستقبال الأخرى.
في إصدارات IE5 وما فوق، يتم عرض [0] كالنقطة الأولى، بينما يجب أن يكون حسب معايير W3C [1].
لحل مشكلة [0] و [1] في IE5+، يمكن تعيين اختيار اللغة (SelectionLanguage) للXPath.
في المثال التالي يتم اختيار عنوان العنصر book الأول في bookstore
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
اختيار جميع الأسعار
في المثال التالي يتم اختيار جميع النصوص في العناصر price
/bookstore/book/price/text()
اختيار العناصر ذات السعر أعلى من 35 price
في هذا المثال، يتم اختيار جميع عناصر price التي تحتوي على سعر أكبر من 35:
/bookstore/book[price>35]/price
اختيار عناصر title التي تحتوي على سعر أكبر من 35
في هذا المثال، يتم اختيار جميع عناصر title التي تحتوي على سعر أكبر من 35:
/bookstore/book[price>35]/title
- الصفحة السابقة عناصر الحساب XPath
- الصفحة التالية مقدمة إلى XSLT