مختبر XPath
اختبر تعابير XPath 1.0 على XML أو HTML واعرض العقد المطابقة والسمات والنصوص والنتائج الرقمية أو النصية فوراً بمحرك المتصفح.
ما هو مختبر XPath؟
يقيّم مختبر XPath تعبيراً على مستند XML أو HTML تلصقه ويعرض النتيجة: العناصر المطابقة مع وسومها ونصوصها أو قيم السمات أو رقماً أو نصاً أو قيمة منطقية لتعابير مثل count() أو sum(). تتحدث النتائج أثناء الكتابة.
كيفية استخدام مختبر XPath
- أدخل تعبير XPath، مثل
//book[price > 35]/title. - اختر تحليل المستند كـ XML أو HTML.
- الصق المستند أو عدّله.
- اقرأ عدد المطابقات وكل عقدة مطابقة أو النتيجة المفردة.
مثال
//book[price > 35]/title on the sample bookstore XML
2 matches: Learning XML, XQuery Kick Start
تعيد sum(//book/price) القيمة 119.94.
متى تستخدم مختبر XPath
استخدمه لتطوير XPath لكشط الويب أو محددات Selenium/Playwright أو XSLT أو معالجة إعدادات XML. تطبق المتصفحات XPath 1.0 فقط، فدوال XPath 2.0/3.1 (مثل matches() وstring-join()) غير متاحة. ولا تُنفَّذ السكربتات في HTML الملصق.
كيف يعمل مختبر XPath
يُحلَّل المستند بـ DOMParser في المتصفح (application/xml أو text/html)؛ وتُعرض أخطاء صياغة XML. يُقيَّم التعبير بـ document.evaluate() – محرك XPath 1.0 الأصلي في المتصفح – بنتائج ANY_TYPE، فتُدعم مجموعات العقد والأرقام والنصوص والقيم المنطقية. تُحلّ بادئات الفضاءات من التصريحات على العنصر الجذر. يُعرض حتى 200 تطابق.
حالات الاستخدام الشائعة
- بناء محدد مثل
//button[normalize-space()="Save"]لاختبارات الواجهة. - استخراج كل قيم السمة بـ
//book/@category. - عدّ أو جمع قيم في تغذية XML.
- تشخيص سبب عدم إرجاع XPath في كاشط أي شيء.
الأسئلة الشائعة
لماذا لا يعيد XPath بفضاء أسماء افتراضي شيئاً؟
في XPath 1.0 لا تطابق الأسماء بلا بادئة العناصر ذات فضاء الأسماء أبداً. صرّح ببادئة على العنصر الجذر واستخدمها، أو استخدم *[local-name()='book'].
هل أحلل كـ HTML أم XML؟
استخدم HTML لصفحات الويب (تحليل متسامح وأسماء وسوم بأحرف صغيرة)؛ واستخدم XML للتغذيات وSOAP وخرائط الموقع والإعدادات.
هل XPath 2.0 مدعوم؟
لا. تطبق كل المتصفحات الرئيسية XPath 1.0 فقط.