DevToys Web Pro iconDevToys Web Proوبلاگ
به ما امتیاز دهید:
افزونه مرورگر را امتحان کنید:

تستر XPath

بدون تطابق
حالت
عبارت XPath

ورودی XML / HTML

  • نتایج

    هیچ گره‌ای با عبارت XPath مطابقت نداشت.
    جزئیات فنی

    تستر XPath چگونه کار می‌کند

    این ابزار چه کاری انجام می‌دهد

    تستر XPath عبارت‌های XPath را روی اسناد XML یا HTML ارزیابی می‌کند و گره‌های تطبیق‌داده‌شده را در منبع هایلایت می‌کند. شما سند XML/HTML خود را جای‌گذاری می‌کنید، یک عبارت XPath وارد می‌کنید و فوراً همهٔ گره‌های مطابق را همراه با محتوای استخراج‌شده می‌بینید. این کار بازخورد بصری فوری برای توسعهٔ پرس‌وجوهایی که در وب‌اسکرپینگ، تبدیل‌های XSLT و استخراج دادهٔ XML استفاده می‌شوند فراهم می‌کند.

    موارد استفادهٔ رایج برای توسعه‌دهندگان

    توسعه‌دهندگان هنگام ساخت سلکتورهای وب‌اسکرپینگ (Scrapy, lxml)، نوشتن تبدیل‌های XSLT، پرس‌وجو از پاسخ‌های API مبتنی بر SOAP/XML، یا استخراج داده از فایل‌های پیکربندی مانند Maven POMها و manifestهای اندروید از تسترهای XPath استفاده می‌کنند. مهندسان QA وقتی سلکتورهای CSS کافی نیستند (مثلاً انتخاب بر اساس متن یا پیمایش به سمت بالا) با XPath لوکیتورهای Selenium را توسعه می‌دهند. مهندسان DevOps پیکربندی‌های ساخت و استقرار مبتنی بر XML را پرس‌وجو می‌کنند.

    قالب‌ها، نوع‌ها یا گونه‌های داده

    XPath از مسیرهای مکانی (//book/title)، گزاره‌ها (//item[@price > 10])، محور‌ها (ancestor::, following-sibling::)، توابع (contains(), starts-with(), normalize-space(), count()) و عبارت‌های اجتماع (|) پشتیبانی می‌کند. XPath 1.0 مجموعه‌گره‌ها، رشته‌ها، اعداد و بولی‌ها را برمی‌گرداند. XPath 2.0+ توالی‌ها، عبارت‌های باقاعده و توابع تاریخ/زمان را اضافه می‌کند، هرچند پیاده‌سازی‌های مرورگر معمولاً از 1.0 پشتیبانی می‌کنند. عناصر دارای پیشوند namespace برای تطبیق درست به ثبت namespace نیاز دارند.

    دام‌های رایج و حالت‌های لبه‌ای

    رایج‌ترین اشتباه در XPath این است که فضای‌نام‌های پیش‌فرض را فراموش می‌کنند — عناصری که در یک فضای‌نام هستند با مسیرهای بدون پیشوند تطبیق داده نمی‌شوند، حتی وقتی در سند منبع هیچ پیشوندی دیده نمی‌شود. HTML که به‌صورت XML پارس می‌شود به حروف بزرگ و کوچک حساس است (DIV ≠ div)، در حالی که پارسرهای HTML5 به حروف کوچک نرمال‌سازی می‌کنند. مخفف '//' همهٔ نوادگان را جست‌وجو می‌کند و می‌تواند روی اسناد بزرگ بسیار کند باشد؛ وقتی ساختار مشخص است مسیرهای مطلق را ترجیح دهید. موتورهای XPath مرورگر از توابع XPath 2.0 مانند matches() برای regex پشتیبانی نمی‌کنند.

    چه زمانی از این ابزار استفاده کنیم در برابر کُد

    از این ابزار مرورگر برای نمونه‌سازی سریع عبارت‌های XPath روی اسناد نمونه استفاده کنید، پیش از آن‌که آن‌ها را در کد اسکرپینگ یا تبدیل جاسازی کنید. برای پردازش XML در محیط تولید، از کتابخانه‌های تخصصی (lxml برای Python، Saxon برای Java) استفاده کنید که از XPath 2.0/3.0 پشتیبانی می‌کنند، فضای‌نام‌ها را به‌درستی مدیریت می‌کنند و برای تبدیل‌های پیچیدهٔ سند با خط لوله‌های XSLT و XQuery یکپارچه می‌شوند.