فتح ملف XML
شجرة قابلة للطي بدلًا من جدار من الأقواس الزاوية. اطوِ ما لا تحتاجه، وابحث عمّا تحتاجه، واعرض السمات ومساحات الأسماء بوضوح.
- لا يُخزَّن أبدًا
- لا طابور ولا انتظار
- دون تسجيل ودون علامة مائية
الصق XML أو موجز RSS أو ملف SVG أو ملف إعدادات، وسيظهر هنا على شكل شجرة.
كيف تعمل الأداة
الصق الملف أو أفلِته
XML أو RSS أو Atom أو SVG أو خريطة موقع (sitemap) أو ملف إعدادات — أي شيء بصيغة XML.
استكشف الشجرة
اطوِ الفروع، ووسّع الفرع الذي تريده، واعرف إلى أي عمق يمتد المستند.
ابحث داخله
اعثر على عنصر أو سمة أو قيمة دون قراءة المستند كله.
شجرة يمكنك التنقل فيها فعلًا
XML في محرر النصوص جدار من الأقواس الزاوية؛ والمستند نفسه على هيئة شجرة شيء يمكنك قراءته. يصبح كل عنصر صفًا يمكنك توسيعه أو طيّه، وتُعرض السمات بجانب عنصرها بدلًا من ازدحام السطر بها، والتداخل هو المسافة البادئة — فالعثور على السجل الوحيد الذي يهمك في ملف مُصدَّر من عشرة آلاف سطر يصبح مسألة إغلاق الفروع التي لا تريدها.
المستند الذي يحتوي على أكثر من بضع مئات من العناصر يُفتح مطويًا أسفل الجذر، عن قصد. رسم كل صفوف ملف مُصدَّر كبير أولًا يعني صفحة تحتاج ثوانيَ لتصبح قابلة للاستخدام ثم يكون تمريرها سيئًا؛ أما البدء بالشجرة مطوية فيُظهر بنية المستند فورًا، وهي عادةً ما تبحث عنه أصلًا. والتوسيع تدريجيًا أسرع، وطريقة أفضل لفهم ملف غير مألوف.
لا يُجلب أي شيء ولا يُحلّ أي مرجع. يمكن لمستند XML أن يشير إلى DTD أو كيان (entity) خارجي، والمحلّل الذي يتبع هذه المراجع سيذهب ويجلب ما تشير إليه أيًّا كان — ملفًا على القرص، أو عنوانًا على شبكة داخلية. هذه هي ثغرة XML External Entity (XXE)، والدفاع الكامل الوحيد هو الرفض. لذا فالمستند الذي يعتمد على DTD خارجي يُعرض بدونه، وهذه ميزة أمنية لا نقص، وهي أهم ما تكون في الحالة التي يستخدم الناس العارض من أجلها بالضبط: فحص ملف لم يكتبوه.
تُعرض مساحات الأسماء (namespaces) كما كُتبت بدلًا من توحيدها وإخفائها، لأن البادئة كثيرًا ما تكون الشيء الذي تحاول فهمه في مستند غير مألوف. وتُعرض أقسام CDATA كالنص الحرفي الذي تحتويه، وتُعرض مراجع الكيانات دون توسيعها، فيطابق ما تراه ما هو موجود في الملف.
عندما تحتاج إلى شيء آخر
حين تعرف ما تبحث عنه، استعلم بدلًا من التصفح. الأمر xmlstarlet sel -t -v "//order[@id='42']/total" data.xml يجيب عن سؤال محدد بتعبير XPath، والأمر xmllint --xpath يفعل الشيء نفسه. هذا أسرع بكثير من توسيع شجرة بمجرد أن تستطيع وصف ما تريده.
للملفات الأكبر من أن تتسع لها الذاكرة — وXML المحلَّل كشجرة يشغل عادةً أضعاف حجم الملف — لن يفيدك أي عارض. المحلّلات المتدفقة مثل iterparse في Python تمر على مستند بحجم عدة غيغابايتات بذاكرة ثابتة، وless مع xmllint --format يكفيان لرؤية بنية ملف ضخم دون تحميله.
الأسئلة الشائعة
هل يُخزَّن ملفي في أي مكان؟
لا. لا يُخزَّن أي شيء ولا يُحتفظ بأي شيء، وتعمل الأداة حتى مع إيقاف Wi-Fi بعد تحميل الصفحة.
ماذا يحدث إذا كان XML معطوبًا؟
تحصل على السطر والعمود والحرف، مع عرض السطر المسبّب للمشكلة وعلامة ^ تحت الموضع — وهو نفس الإبلاغ في أداة التحقق من XML لدينا. العارض الذي يقول فقط «تعذّر التحليل» لا يتركك في وضع أفضل مما كنت عليه.
هل يعرض السمات ومساحات الأسماء؟
نعم. تُعرض السمات على عنصرها بدلًا من إخفائها، ويُشار بوضوح إلى تصريحات مساحات الأسماء — فالبادئة غير المصرَّح بها من أكثر أسباب فشل تحليل XML في مكان آخر شيوعًا، وهي غير مرئية في العرض النصي العادي.
هل يمكنه فتح موجز RSS أو Atom؟
نعم، فهي بصيغة XML. وكذلك خرائط المواقع وصور SVG وتخطيطات Android وملفات Maven POM ومعظم ملفات الإعدادات. إذا كان الملف بصيغة XML، فهو يُفتح هنا.
هل هذا هو نفسه تنسيق XML؟
كلاهما يجيب عن سؤال مختلف. أداة التنسيق تعطيك نص XML بمسافات بادئة لتنسخه مجددًا إلى ملف. أما هذه فتعطيك شجرة للقراءة والاستكشاف، بفروع يمكنك طيّها — وهي أفضل حين يكون المستند كبيرًا وتبحث فيه عن شيء بدلًا من تعديله.
ما أكبر ملف يمكن فتحه؟
الحد هو الذاكرة المتاحة، لا حجم ثابت. تُفتح المستندات الكبيرة مطوية حتى لا تنتظر رسم آلاف العُقد قبل أن تتمكن من فعل أي شيء.
معلومة مفيدة: المستند الذي يحتوي على أكثر من بضع مئات من العناصر يُفتح مطويًا أسفل الجذر، لتكون الصفحة قابلة للاستخدام فورًا بدلًا من رسم آلاف الصفوف أولًا. يُحتفظ بالمستند كاملًا في الذاكرة، لذا فحدّ ملفات XML المُصدَّرة الكبيرة جدًا هو قدرة التبويب لا الأداة.
أضِف هذه الأداة إلى موقعك
مجانية لأي مدونة أو صفحة فصل دراسي أو مقالة مساعدة. الصق مقتطفًا واحدًا وسيتمكن زوارك من استخدامها مباشرةً على صفحتك.