محلل XML

نسّق وتحقق واستعلم عن مستندات XML فوراً. مدعوم بواجهات برمجة تطبيقات المتصفح الأصلية لتحقيق أقصى سرعة وخصوصية.

تنسيق وضغط استعلام XPath التحقق

كيفية استخدام محلل XML

1

الصق XML الخاص بك

انسخ والصق محتوى XML في حقل الإدخال، أو انقر على تحميل نموذج XML.

2

تنسيق وتحقق

استخدم تنسيق للتجميل، أو ضغط للضغط، أو تحقق للبحث عن الأخطاء.

3

استعلام باستخدام XPath

أدخل تعبير XPath وانقر تشغيل XPath لاستخراج عقد محددة.

ما هو XML؟

XML (لغة الترميز القابلة للتوسيع) هي لغة ترميز تحدد مجموعة من القواعد لترميز المستندات بتنسيق مقروء بشرياً وآلياً. تُستخدم على نطاق واسع لملفات التكوين وتبادل البيانات (SOAP، RSS، Atom) وتخزين المستندات.

الميزات الرئيسية لـ XML

توصيف ذاتي

يستخدم XML وسوماً مخصصة لوصف بنية البيانات، مما يجعل من السهل فهم المحتوى والتسلسل الهرمي بنظرة سريعة.

مستقل عن المنصة

كنص عادي، يعمل XML عبر جميع المنصات ولغات البرمجة والأنظمة دون مشاكل توافق.

قابل للتوسيع

يمكنك تعريف وسومك الخاصة وبنية المستند باستخدام DTD أو XML Schema لتناسب أي نموذج بيانات.

الأسئلة الشائعة

ما الفرق بين XML المُكوّن بشكل صحيح و XML الصالح؟

XML المُكوّن بشكل صحيح يتبع قواعد بناء الجملة الأساسية لـ XML (تداخل صحيح، وسوم إغلاق، عنصر جذر واحد). XML الصالح يكون مُكوّناً بشكل صحيح ويتوافق أيضاً مع مخطط (DTD، XSD) يحدد البنية وأنواع البيانات المسموحة.

هل تقوم هذه الأداة بالتحقق مقابل مخطط XSD؟

لا، تتحقق هذه الأداة من البنية الصحيحة فقط (صحة بناء الجملة). التحقق القائم على المخطط مقابل DTD أو XSD غير مدعوم في المتصفح بشكل أصلي.

ما هو إصدار XPath المدعوم؟

دالة document.evaluate() الأصلية في المتصفح تدعم XPath 1.0. وهذا يغطي معظم الاستعلامات الشائعة بما في ذلك المحاور والمسندات والدوال مثل contains() و text() و @attribute.

ما هي مساحات الأسماء في XML وكيف تُقرأ؟

تُعرِّف مساحة الأسماء أسماء العناصر بعنوان URI عبر السمات xmlns - على سبيل المثال عنصر atom:feed الذي يعرّف xmlns:atom="http://www.w3.org/2005/Atom". البادئة اعتباطية؛ فمساحة الأسماء يحددها عنوان URI وحده، ومن ثَمّ يمكن لمستندين استخدام بادئتين مختلفتين للمفردات نفسها. مساحات الأسماء هي السبب في أن مطابقة XPath كثيراً ما تتطلب حيل local-name() عند اختلاف البادئات.

كيف يختار XPath العقد؟

تتجول تعبيرات XPath 1.0 في الشجرة: /rss/channel/item يختار حسب المسار، و//item يجد العناصر في أي مكان في المستند، وitem[@type='news'] يرشِّح حسب سمة، أما المسندات مثل item[1] أو item[last()] فتلتقط عقداً بعينها. وهي لغة الاستعلام التي تقف خلف XSLT وكثير من أطر الاختبار وفي مقيّم التعبيرات في هذه الأداة.

ما هو XXE وهل يمكن أن يؤثر على هذه الأداة؟

يستغل حقن XXE (XML External Entity) كيان DTD يشير إلى مسار ملف أو عنوان URL فيجعل المحلل من جهة الخادم يجلبه - وهو ما سرّب تاريخياً /etc/passwd أو خدماتاً داخلية. محللات XML في المتصفح لا تعالج الكيانات الخارجية، وهذه الأداة تعمل بالكامل داخل متصفحك دون أي اتصال بخادم، فلا يمكن لـ XML الملصوق أن يؤدي إلى قراءة ملفات أو SSRF.

ما الفرق بين التحليل بنمط DOM وبنمط SAX؟

يحمّل DOM المستند كاملاً في شجرة يمكنك التنقل فيها بحرية - وهو أسلوب بديهي لكنه جائع للذاكرة مع الملفات الضخمة. أما SAX فيبثّ الأحداث (وسم بداية، نص، وسم نهاية) في تمريرة واحدة بذاكرة ثابتة - سريع لكنه في اتجاه أمامي فقط. توفّر JavaScript في المتصفح DOMParser (بنمط DOM)؛ أما بث XML في JavaScript فيتطلب مكتبة أو Web Streams.

كيف أُدرج < أو & داخل محتوى XML؟

رمّزها بالشكل &lt; و&amp; في النص العادي - فالرمزان < و& غير قانونيين بصورتهما الخام في بيانات الأحرف. ولمقاطع النصوص الغنية بالوسوم، ضعها داخل قسم CDATA الذي لا يحتاج إلى ترميز حتى يصادف التسلسل ]]> في نهايته. الرمزان < و& وحدهما ما يُشترط ترميزهما في المحتوى؛ أما > فلا يلزم ترميزه إلا إذا شكّل ذلك التسلسل الختامي.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}