Skip to content

منسّق XML

جمّل واضغط وتحقق من XML مباشرةً في متصفحك — دون رفع أي بيانات. يعيد المسافات البادئة لـ XML المشوّه، ويُبلّغ عن أخطاء السلامة البنيوية مع رقم السطر والعمود. مجاني وخاص ولا يتطلب تسجيلاً.

بدون تتبّع يعمل في المتصفّح مجاني
المسافة البادئة
إخراج <bdi>XML</bdi>
Reviewed for XML 1.0 well-formedness compliance, lossless formatting, and accurate error reporting — Go Tools Engineering Team · May 29, 2026

ما هو منسّق XML ولماذا تستخدمه؟

XML (لغة الترميز القابلة للتوسع) هو تنسيق نصي للبيانات المنظَّمة، يُستخدَم في كل مكان من خدمات الويب وملفات الإعداد إلى تغذيات RSS وواجهات برمجية SOAP ووثائق المكاتب (DOCX وXLSX) ورسومات SVG وملفات تخطيط Android. على خلاف JSON، يدعم XML التعليقات ومساحات الأسماء والمحتوى المختلط (نص وعناصر متشابكة) وإعلانات نوع المستند — مما يجعله التنسيق المفضل لتكامل المؤسسات وتبادل الوثائق وفي أي مكان يحتاج فيه البيانات المنظَّمة إلى التعايش مع الترميز المقروء بشرياً.

XML في الواقع العملي كثيراً ما يكون ذو مسافات بادئة سيئة أو مضغوطاً بالكامل — تصل استجابات API في سطر واحد، وتتراكم في ملفات الإعداد مسافات بادئة غير متسقة، ولا يضيف XML المُنشأ من المسلسلات أي مسافات بيضاء على الإطلاق. يأخذ منسّق XML هذا الإدخال الفوضوي ويُعيد تنسيقه إلى بنية هرمية نظيفة حيث يكون كل مستوى من مستويات التداخل واضحاً بصرياً. وهذا ضروري لمراجعة الكود وتصحيح الأخطاء والتوثيق وفهم مخططات XML غير المألوفة.

**ما تفعله هذه الأداة بشكل مختلف عن محرر النصوص العادي:**

**1. التحقق من الصياغة السليمة مع تحديد موقع الخطأ بدقة.** يستخدم المنسّق DOMParser الخاص بالمتصفح (المحرك نفسه الذي يحلل HTML وSVG) لتحليل XML. إذا لم يكن المستند مُصاغاً بشكل سليم — وسوم غير متطابقة أو عناصر غير مغلقة أو أحرف غير مُهرَّبة أو عناصر جذر متعددة — يُبلّغ المحلل عن رقم السطر والعمود بالضبط حيث فشل. وهذا أسرع بكثير من قراءة XML الخام بحثاً عن المكان الذي تُرك فيه وسم مفتوحاً بالخطأ.

**2. تنسيق بلا خسارة.** يحافظ المنسّق على التعليقات وتعليمات المعالجة وأقسام CDATA وإعلانات مساحات الأسماء وترتيب السمات وجميع محتوى النص بدقة. يضبط فقط المسافات البيضاء بين وسوم العناصر. يمكنك تنسيق أي XML تهتم به بأمان — لن يتغير أي شيء ذو معنى.

**3. الضغط للاستخدام الإنتاجي.** يزيل الضاغط كل المسافات البيضاء غير المعنوية بين العناصر، مُنتجاً أصغر تمثيل XML صالح. وهذه هي خطوة المعالجة المسبقة الصحيحة قبل تخزين XML في عمود قاعدة بيانات أو إدراجه كسلسلة نصية في JSON أو نقله عبر قناة يُحتسب فيها عدد البايتات.

**4. خصوصية 100% قائمة على المتصفح.** XML الصحي (HL7 وFHIR) والبيانات المالية وحمولات SOAP ذات بيانات الاعتماد وملفات الإعداد الداخلية كلها حمولات XML شائعة تحتوي على بيانات حساسة. هذه الأداة لا ترفع أي شيء — تتم جميع المعالجة في محرك JavaScript الخاص بمتصفحك. راجع الأدوات المرافقة إذا كنت بحاجة إلى التحويل لا التنسيق: محوّل XML إلى JSON لتحويل XML إلى JSON، ومحوّل JSON إلى XML للاتجاه العكسي.

<!-- Minified XML input -->
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01"><name>Wireless Headphones</name><price currency="USD">79.99</price></product></catalog>

<!-- After formatting with 2-space indent -->
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <product id="p01">
    <name>Wireless Headphones</name>
    <price currency="USD">79.99</price>
  </product>
</catalog>

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

تجميل بمسافة بادئة 2 أو 4 مسافات

يُعيد تنسيق XML في بنية هرمية نظيفة ومقروءة. اختر مسافتين (الأكثر شيوعاً لخدمات الويب وRSS وملفات الإعداد) أو 4 مسافات (شائعة في مخططات XML للمؤسسات) قبل التنسيق.

ضغط — إزالة المسافات البيضاء غير المعنوية

يزيل كل المسافات البيضاء بين وسوم العناصر دون المساس بمحتوى النص، مُنتجاً أصغر XML صالح. مثالي للتخزين أو النقل أو التضمين كسلسلة نصية داخل JSON أو تنسيقات أخرى.

التحقق من الصياغة السليمة مع أخطاء السطر/العمود

يستخدم DOMParser المدمج في المتصفح للتحقق من بنية XML. يُبلّغ عن رقم السطر والعمود بالضبط لأول خطأ في الصياغة السليمة — وسوم غير متطابقة وعناصر غير مغلقة وأحرف غير مُهرَّبة — لتسهيل تصحيح الأخطاء.

بلا خسارة: يحافظ على التعليقات ومساحات الأسماء والسمات

تُحفظ التعليقات وتعليمات المعالجة وأقسام CDATA وإعلانات مساحات الأسماء وترتيب السمات بدقة تامة. يُعدَّل فقط المسافات البيضاء غير المعنوية بين الوسوم — لا يُغيَّر محتواك أبداً.

100% قائم على المتصفح — بدون رفع ملفات أو خادم

تتم جميع المعالجة محلياً في متصفحك. حمولات XML التي تحتوي على بيانات اعتماد أو بيانات صحية أو سجلات مالية أو إعدادات داخلية لا تُنقَل إلى أي خادم ولا تُسجَّل أبداً.

يعمل مع SOAP وRSS وSVG وXHTML وXML لـ Android

يتعامل مع أي تطبيق XML مُصاغ بشكل سليم: مغلفات SOAP بترويسات WS-Security وتغذيات RSS/Atom وملفات SVG ومستندات XHTML وملفات تخطيط Android وملفات Maven POM وملفات بناء Maven/Ant.

أمثلة

XML مضغوط أو غير منظّم

<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01" category="electronics"><name>Wireless Headphones</name><price currency="USD">79.99</price><stock>142</stock><tags><tag>audio</tag><tag>bluetooth</tag></tags></product><product id="p02" category="books"><name>Learning XML</name><price currency="USD">29.99</price><stock>55</stock></product></catalog>

كتالوج منتجات XML مضغوط في سطر واحد. انقر على «تنسيق» لإضافة المسافات البادئة وتحويله إلى شجرة مقروءة بمسافة بادئة مسافتين. يُحفظ تسلسل العناصر والسمات ومحتوى النص بدقة تامة — فالتنسيق مجرد تغيير بصري.

مقتطف تغذية RSS

<rss version="2.0"><channel><title>Go Tools Blog</title><link>https://go-tools.org/blog</link><description>Developer tools, tips and tutorials</description><item><title>Understanding XML Namespaces</title><link>https://go-tools.org/blog/xml-namespaces-guide</link><pubDate>Thu, 29 May 2026 00:00:00 GMT</pubDate><description>A deep dive into XML namespace declarations, prefixes, and scope rules with practical examples.</description></item><item><title>XML vs JSON: When to Use Each</title><link>https://go-tools.org/blog/xml-vs-json</link><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item></channel></rss>

تغذية RSS 2.0 بعنصرين مضغوطين في سطر واحد. بعد التنسيق، يظهر وصف القناة وكل عنصر بمسافات بادئة واضحة، مما يُسهّل فحص بنية التغذية وإضافة عناصر جديدة أو مقارنتها بمتطلبات أداة التحقق من التغذية.

مغلّف SOAP

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken><wsse:Username>api-client</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ext-1.0.xsd#PasswordText">s3cr3t</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body><GetOrderRequest xmlns="http://example.com/orders"><OrderId>ORD-20260529-001</OrderId><IncludeLineItems>true</IncludeLineItems></GetOrderRequest></soap:Body></soap:Envelope>

مغلّف SOAP 1.1 يحتوي على ترويسة WS-Security وجسم GetOrder، مع ثلاثة بادئات مساحة اسم (soap: وwsse: والافتراضي). يجعل التنسيق فصل الترويسة عن الجسم وإعلانات مساحات الأسماء واضحاً على الفور — وهو أمر ضروري لتصحيح أخطاء تكامل SOAP وقراءة الحمولات المُنشأة من WSDL.

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

  1. 1

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

    أدخل أو الصق XML في حقل الإدخال أعلاه. يمكنك أيضاً النقر على «تحميل مثال» لتجربة عينة (كتالوج منتجات XML مضغوط يظهر بشكل جميل بعد التنسيق).

  2. 2

    اختر إجراءً

    انقر على «تنسيق» للتجميل بمسافات بادئة، أو «ضغط» لإزالة المسافات البيضاء، أو «تحقق» للتحقق من الصياغة السليمة. اختر 2 أو 4 مسافات لحجم المسافة البادئة قبل التنسيق.

  3. 3

    انسخ الإخراج

    يظهر XML المُعالَج في لوحة الإخراج. انقر على «نسخ» لنقله إلى الحافظة. إذا وجد التحقق أخطاء، تُظهر لافتة الخطأ رقم السطر والعمود بالضبط.

أخطاء XML الشائعة

عدم تطابق الوسوم

أسماء وسوم XML حساسة لحالة الأحرف ويجب أن تتطابق بدقة. و وسومان مختلفان — يرى XML هذا على أنه عنصر غير مغلق و زائد. وهذا السبب الأكثر شيوعاً لأخطاء الصياغة السليمة عند تحرير XML يدوياً.

✗ خطأ
<products>
  <Item>
    <name>Widget</name>
  </item>
</products>
✓ صحيح
<products>
  <item>
    <name>Widget</name>
  </item>
</products>

علامة العطف أو إشارة «أقل من» غير مُهرَّبة

الرمزان & و< محجوزان في XML ويجب تهريبهما خارج أقسام CDATA. تُسبّب علامة عطف مجردة خطأً في المحلل حتى في قيم السمات. استخدم & لـ & و< لـ <. يُفضَّل تهريب > كـ > في محتوى النص رغم أن المحللات أكثر تسامحاً معه.

✗ خطأ
<query>price > 10 & stock > 0</query>
✓ صحيح
<query>price &gt; 10 &amp; stock &gt; 0</query>

سمات غير مقتبسة أو مقتبسة بشكل خاطئ

يجب أن تكون جميع قيم سمات XML محاطة بعلامات اقتباس مفردة أو مزدوجة. قيم السمات غير المقتبسة صالحة في HTML5 لكنها خطأ في صياغة XML. كذلك، يجب أن تستخدم القيم التي تحتوي على علامات اقتباس مزدوجة علامات اقتباس مفردة كمحددات (أو تهريب علامة الاقتباس كـ ").

✗ خطأ
<product id=p01 label="It's a "widget"">
✓ صحيح
<product id="p01" label="It's a &quot;widget&quot;">

عناصر جذر متعددة

يجب أن يحتوي مستند XML على عنصر جذر واحد بالضبط يحتوي على جميع العناصر الأخرى. من الأخطاء الشائعة عند تجميع أجزاء من XML ينتهي الأمر بوجود عنصرين أو أكثر على المستوى الأعلى جنباً إلى جنب، وهذا غير صالح في XML (رغم أنه شائع في HTML). لفّ جميع العناصر المتجاورة في حاوية جذر واحدة.

✗ خطأ
<user><name>Alice</name></user>
<user><name>Bob</name></user>
✓ صحيح
<users>
  <user><name>Alice</name></user>
  <user><name>Bob</name></user>
</users>

عدم تطابق ترميز إعلان XML

إذا كان ملف XML محفوظاً بترميز UTF-16 أو ترميز آخر غير UTF-8 لكن إعلان يُشير إلى encoding="UTF-8" (أو غائباً، مما يعني UTF-8 افتراضياً)، فإن بعض المحللات سترفضه أو تُنتج نصاً مشوهاً. عند اللصق في أداة تعمل في المتصفح، يتولى المتصفح معالجة الترميز تلقائياً. بالنسبة للملفات على القرص، تأكد من تطابق سمة الترميز مع ترميز الملف الفعلي.

✗ خطأ
<?xml version="1.0" encoding="UTF-8"?>
<!-- File is actually saved as UTF-16 -->
✓ صحيح
<?xml version="1.0" encoding="UTF-16"?>
<!-- File saved as UTF-16, declaration matches -->

قسم CDATA غير مغلق بشكل صحيح

يبدأ قسم CDATA بـ وينتهي بـ ]]>. إذا كانت تسلسل الإغلاق ]]> مفقوداً أو مكتوباً بشكل خاطئ، فإن المحلل يُعامل كل ما يليه كجزء من قسم CDATA حتى يجد ]]> آخر أو يصل إلى نهاية المستند. يتجلى هذا عادةً كأخطاء «نهاية غير متوقعة للمستند».

✗ خطأ
<script><![CDATA[
  if (a < b && b > c) { return true; }
<!-- ]]> is missing -->
✓ صحيح
<script><![CDATA[
  if (a < b && b > c) { return true; }
]]></script>

حالات الاستخدام الشائعة

تصحيح أخطاء حمولات SOAP وخدمات الويب
تصل استجابات SOAP من واجهات برمجية للمؤسسات وخدمات ويب قديمة كسلاسل XML في سطر واحد. الصق الحمولة الخام في المنسّق لترى فوراً بنية المغلّف والترويسات والجسم — مما يُسهّل إيجاد الحقل الذي تحتاجه أو رصد عدم تطابق في مساحة الأسماء. انظر أيضاً: محوّل XML إلى JSON إذا كنت بحاجة إلى معالجة الحمولة في JavaScript.
التحقق من ملفات الإعداد وواصفات النشر
ملفات Maven POM وسياقات تطبيق Spring XML وملف Tomcat server.xml وملفات Android Manifest والعديد من ملفات إعداد Java/المؤسسات الأخرى هي XML. تحقق منها عبر «التحقق» قبل الالتزام لاكتشاف الوسوم غير المتطابقة أو مشاكل الترميز التي لن تظهر إلا في وقت البناء أو النشر.
تنسيق إخراج تغذيات RSS وAtom
تغذيات RSS 2.0 وAtom 1.0 هي XML. عند تطوير مولّد تغذية أو تصحيح مشاكل التوافق مع قارئ التغذية، نسّق XML التغذية الخام لفحص وصف القناة وبنية العناصر وإعلانات مساحات الأسماء المطلوبة جنباً إلى جنب.
قراءة وتحرير ملفات SVG
ملفات SVG المُصدَّرة من Figma أو Illustrator أو Sketch هي XML صالح لكنها كثيراً ما تكون مضغوطة أو تحتوي على مسافات بادئة مفرطة من المُصدِّر. نسّق SVG للحصول على شجرة عناصر نظيفة وقابلة للتنقل قبل إجراء تعديلات يدوية على المسارات أو المجموعات أو سمات التنسيق.
إعداد XML للتخزين أو النقل
عند تخزين XML في عمود قاعدة بيانات أو إرساله كحقل سلسلة نصية في JSON في طلب API أو إدراجه في قائمة انتظار رسائل، استخدم الضغط أولاً لإزالة المسافات البيضاء غير الضرورية. هذا يُقلّل حجم الحمولة ويتجنب مشاكل مع محللات JSON التي قد تختنق من أحرف التحكم غير المُهرَّبة في سلاسل XML المُسنَّنة الكبيرة.
تحويل XML إلى JSON
إذا كنت بحاجة إلى تحويل XML المُنسَّق إلى JSON للاستخدام في تطبيق JavaScript أو واجهة REST برمجية، استخدم محوّل XML إلى JSON. للعكس — بناء XML من بنية JSON — استخدم محوّل JSON إلى XML.

تفاصيل تقنية

DOMParser في المتصفح لتحليل XML
يستخدم تحليل XML DOMParser الأصلي في المتصفح مع نوع MIME هو 'text/xml'. هذا هو المحرك نفسه الذي يُشغّل عرض SVG وXHTML في المتصفح — متوافق بالكامل مع XML 1.0 ويُبلّغ عن أخطاء الصياغة السليمة مع معلومات السطر والعمود. عندما لا يكون المستند مُصاغاً بشكل سليم، تُعيد DOMParser مستند خطأ يحتوي على رسالة الخطأ والموضع، والتي تستخرجها هذه الأداة وتعرضها.
تسلسل شجرة DOM للتنسيق
يعمل التنسيق بتحليل XML في شجرة DOM ثم استعراض الشجرة بشكل تكراري لإنتاج إخراج مُسنَّن. يحافظ هذا النهج على البنية الدلالية للمستند: يُسلسَل تداخل العناصر ومحتوى النص والسمات وأقسام CDATA وتعليمات المعالجة والتعليقات مرة أخرى بدقة كما تم تحليلها. تُحذف فقط العقد النصية التي تحتوي على مسافات بيضاء فحسب بين العناصر — تُحفظ دائماً العقد النصية التي تحتوي على أحرف غير مسافة بيضاء.
الضغط بإزالة العقد النصية ذات المسافات البيضاء فحسب
يستعرض الضغط شجرة DOM نفسها ويزيل العقد النصية التي يكون محتواها مسافات بيضاء بالكامل (مسافات وأجزاء ومستحدثات). لا تُزال أبداً العقد النصية ذات المحتوى المختلط أو المحتوى غير المسافة البيضاء — وهي البيانات الفعلية بين الوسوم. تُسلسَل السمات وقيمها بدون مسافات بيضاء إضافية. النتيجة هي أكثر تمثيل XML صالح إيجازاً للمستند الأصلي.
100% قائم على المتصفح — بدون رفع ملفات أو خادم
تتم جميع المعالجة في وقت تشغيل JavaScript في متصفحك. لا تُنقَل أي بيانات إلى أي خادم في أي وقت. هذا مهم بشكل خاص لحمولات XML التي كثيراً ما تحتوي على محتوى حساس: رموز WS-Security لـ SOAP وبيانات مرضى HL7 وإعداد خدمات داخلية وتنسيقات الرسائل المالية (FIX وSWIFT ISO 20022). الأداة آمنة للاستخدام مع أي XML لا تريد لصقه في خدمة عامة.

أفضل الممارسات

تحقق قبل التنسيق، ونسّق قبل الالتزام
تحقق من XML أولاً للتأكد من صياغته السليمة قبل إعادة تنسيقه — سيُنتج المنسّق إخراجاً غير صحيح بصمت إذا لم يكن الإدخال XML صالحاً. بمجرد التحقق منه، نسّقه وراجع الإخراج المُسنَّن قبل الالتزام بملفات الإعداد أو قوالب التغذية أو تعريفات WSDL في نظام التحكم بالإصدارات.
استخدم مسافتين للتنسيقات الويبية، و4 مسافات لـ XML المؤسسي
مسافتان هي الاتفاقية لتغذيات RSS/Atom وSVG وXHTML وXML لـ Android ومعظم XML المواجه للويب. 4 مسافات شائعة في بيئات مؤسسات Java (Maven POM وملفات سياق Spring وواصفات نشر JBoss). طابق اتفاقية ملفاتك وسلسلة أدواتك الحالية.
اضغط XML قبل تضمينه في JSON
إذا كنت بحاجة إلى تضمين سلسلة XML كقيمة حقل في JSON، اضغطه دائماً أولاً. يحتوي XML المُسنَّن على أسطر جديدة ومسافات متعددة يجب تهريبها في JSON (\n ومسافات \u0020 متعددة)، مما يُضخّم حجم الحمولة بشكل كبير. XML المضغوط أقل احتمالاً بكثير لتشغيل حدود طول السطر في وسطاء الوكلاء أو أنظمة التسجيل.
هرّب الأحرف الخاصة في محتوى النص، واستخدم CDATA باعتدال
بالنسبة لقيم النص القصيرة التي تحتوي على & أو <، استخدم مراجع الكيانات (& و<) — فهي أكثر توافقاً من أقسام CDATA وتعمل في قيم السمات أيضاً. احجز أقسام CDATA () لتضمين كتل كبيرة من الكود أو استعلامات SQL أو أجزاء HTML حيث سيجعل تهريب كل حرف خاص المحتوى غير قابل للقراءة.
أعلن عن مساحات الأسماء في أقرب وقت ممكن
أعلن عن مساحات أسماء XML (xmlns:prefix="URI") على عنصر الجذر أو أعلى عنصر يستخدم البادئة. إعلان مساحات الأسماء عميقاً في شجرة المستند يجعل XML أصعب قراءةً ويمكن أن يُسبّب مشاكل مع محللات XML المستندة إلى البث (SAX وStAX) التي تعالج مساحات الأسماء بشكل تدريجي. يُوضّح مثال مغلّف SOAP أعلاه النمط الموصى به: جميع إعلانات مساحات الأسماء على عنصر Envelope الجذر.

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

هل تُرسَل بيانات XML إلى خادم عند استخدام هذه الأداة؟
لا. يتم التنسيق والضغط والتحقق كلياً داخل متصفحك باستخدام JavaScript. لا يُنقَل XML عبر الشبكة ولا يُخزَّن على أي خادم ولا يُسجَّل أو يُحلَّل من قِبَل أي جهة. هذا يجعل الأداة آمنة للاستخدام مع حمولات XML التي تحتوي على بيانات اعتماد API أو بيانات خدمة داخلية أو سجلات مالية أو وثائق HL7/FHIR الصحية أو أي محتوى حساس آخر. يمكنك التحقق من ذلك بفتح تبويب «الشبكة» في متصفحك — لن ترى أي طلبات عند لصق XML أو معالجته.
ماذا يفحص زر «التحقق»؟
يفحص زر «التحقق» ما إذا كان XML مُصاغاً بشكل سليم وفق مواصفة XML 1.0. تعني الصياغة السليمة: أن كل وسم افتتاحي له وسم إغلاق مطابق، وأن الوسوم متداخلة بشكل صحيح (دون عناصر متقاطعة)، وأن المستند يحتوي على عنصر جذر واحد بالضبط، وأن قيم السمات محاطة بعلامات اقتباس، وأن الرموز المحجوزة (&، <، >) مُهرَّبة بشكل صحيح كـ & و< و>. عندما يكون XML مُصاغاً بشكل سليم، تظهر لافتة خضراء «XML صالح». وإلا، تظهر رسالة خطأ مع رقم السطر والعمود حيث وُجدت المشكلة، حتى تتمكن من تحديدها وإصلاحها فوراً.
هل يتحقق التحقق من مطابقة مخطط XML (XSD) أو DTD؟
لا. تتحقق هذه الأداة من الصياغة السليمة فحسب — ولا تتحقق من مطابقة مخطط XSD أو DTD أو RELAX NG أو أي قواعد نحوية أخرى. الصياغة السليمة شرط مسبق للتحقق من المخطط، لكنهما مستويان مختلفان من الصحة. يمكن أن يكون مستند XML صحيح بنيوياً تماماً ومع ذلك يخرق مخططاً (على سبيل المثال، عنصر مطلوب مفقود، أو حقل رقمي يحتوي على نص). للتحقق الكامل من المخطط، تحتاج إلى أداة مثل xmllint (سطر الأوامر) أو محرر Oxygen XML أو محلل XML الخاص بلغة البرمجة مع تفعيل دعم المخططات.
ما الفرق بين التنسيق (التجميل) والضغط؟
يضيف التنسيق (التجميل) مسافات بادئة منتظمة وأسطراً جديدة لجعل XML مقروءاً بشرياً. كل عنصر متداخل يُضاف له مسافة بادئة بعدد المسافات المختار (2 أو 4)، مما يجعل البنية الهرمية واضحة على الفور. هذا ما تحتاجه عند قراءة XML أو تحريره أو مقارنته. أما الضغط فيعمل عكسياً: يزيل كل المسافات البيضاء التي ليست جزءاً من محتوى نص العنصر، مما يُقلّص المستند إلى أدنى عدد ممكن من الأحرف. هذا مفيد قبل تخزين XML في قاعدة بيانات أو نقله عبر شبكة حيث يهم عدد البايتات أو تضمينه كسلسلة نصية داخل تنسيق آخر. كلتا العمليتان تُنتجان XML متطابقاً دلالياً — يتغير فقط المسافات البيضاء غير المعنوية.
هل يحافظ التنسيق على تعليقات XML وسماته؟
نعم. التنسيق لا يُفقد أي شيء من محتوى XML. تُحفظ التعليقات () في مكانها مع ضبط المسافات البيضاء المحيطة بها للمسافة البادئة. جميع السمات وترتيبها داخل الوسم وقيمها محفوظة بدقة. كذلك تُحفظ أقسام CDATA وتعليمات المعالجة () وإعلانات مساحات الأسماء. يضبط المنسّق فقط المسافات البيضاء بين وسوم العناصر — ولا يُعدّل أبداً أسماء العناصر أو أسماء السمات أو قيمها أو محتوى النص أو التعليقات.
كيف أُنسّق XML بمسافة بادئة 4 مسافات بدلاً من 2؟
انقر على زر الاختيار «4 مسافات» في عنصر تحكم المسافة البادئة (بجانب أزرار التنسيق والضغط والتحقق)، ثم انقر على «تنسيق». ستُعيد لوحة الإخراج عرض XML بمسافة بادئة 4 مسافات. يمكنك التبديل بين 2 و4 مسافات في أي وقت والنقر على «تنسيق» مرة أخرى — يُقرأ حجم المسافة البادئة في وقت النقر على الزر. مسافة مسافتين هي الاتفاقية الأكثر شيوعاً في خدمات الويب وتنسيقات تبادل البيانات؛ أما 4 مسافات فتُفضَّل أحياناً في مخططات XML للمؤسسات والبيئات المعتمدة على SOAP.
ما إصدار XML والترميز المدعوم في هذه الأداة؟
يستخدم المنسّق DOMParser المدمج في المتصفح مع نوع MIME هو text/xml، والذي يدعم مستندات XML 1.0 بأي ترميز أحرف يستطيع المتصفح التعامل معه — وعملياً، يغطي UTF-8 و UTF-16 و ISO-8859-1 جميع ملفات XML الحقيقية تقريباً. يُحفظ إعلان XML () إذا كان موجوداً. بالنسبة لمستندات XML 1.1 (النادرة عملياً، وتُستخدم أساساً لأحرف تحكم Unicode)، يُطبَّق المحلل نفسه لكن بعض ميزات XML 1.1 المحددة قد لا تُطبَّق بالكامل.
ما أسباب خطأ «الصياغة السليمة» وكيف أُصلحه؟
أكثر أخطاء الصياغة السليمة شيوعاً هي: (1) عدم تطابق الوسوم — وسم افتتاحي مثل <item> مع وسم إغلاق مثل </items> (لاحظ صيغة الجمع). الحل: مطابقة أسماء الوسوم بدقة بما في ذلك حالة الأحرف. (2) وسوم غير مغلقة — وسم لا يوجد له وسم إغلاق مقابل أو شرطة مائلة إغلاق ذاتي. الحل: إضافة وسم الإغلاق أو التغيير إلى <tag/>. (3) أحرف خاصة غير مُهرَّبة — استخدام & مباشرةً في محتوى النص بدلاً من &، أو < بدلاً من <. الحل: استبدال & المجرد بـ & و< المجرد بـ < خارج أقسام CDATA. (4) عناصر جذر متعددة — يتطلب XML عنصر جذر واحداً بالضبط يلتف حول كل شيء آخر. الحل: لفّ كل المحتوى في وسم جذر واحد. تتضمن رسالة الخطأ من هذه الأداة رقم السطر والعمود للمشكلة الأولى التي وُجدت.
هل يمكن استخدام هذه الأداة لتنسيق ملفات XHTML أو SVG؟
نعم. كل من XHTML و SVG تطبيقات XML صالحة، لذا تُنسّق هذه الأداة كلاً منهما وتضغطه وتتحقق منه بشكل صحيح. بالنسبة لـ XHTML، ستكتشف الوسوم غير المتطابقة أو غير المغلقة التي تتجاهلها محللات HTML5 صمتاً لكنها أخطاء في XHTML الصارم. بالنسبة لـ SVG، تُفيد الأداة بشكل خاص في تنسيق الملفات المعقدة المُنشأة بأدوات مثل Figma أو Illustrator، مما يُسهّل فحص بنية العناصر أو تحريرها يدوياً.
كيف تتعامل هذه الأداة مع مساحات الأسماء في XML؟
تُحفظ مساحات الأسماء في XML (إعلانات xmlns وبادئات مساحات الأسماء مثل soap: وxsi: وما إلى ذلك) بالكامل في المنسّق. تبقى إعلانات مساحات الأسماء على العنصر الذي أُعلنت فيه أصلاً ولا تُنقَل أو تُزال المكررات منها. تُعامَل أسماء العناصر وأسماء السمات ذات بادئات مساحات الأسماء كسلاسل نصية مُعتمة من قِبَل المنسّق — تُحفظ البادئة والاسم المحلي بدقة كما هما مكتوبان. يُوضّح مثال مغلّف SOAP أعلاه مستنداً يحتوي على ثلاث بادئات مساحات أسماء.
هل هناك حد لحجم XML المُدخَل؟
لا يوجد حد صارم لحجم الملف في الأداة، لكن المحلل المستند إلى DOM في المتصفح سيستهلك ذاكرة تتناسب مع حجم المستند. بالنسبة لمعظم ملفات XML الحقيقية (ملفات الإعداد واستجابات API وتغذيات RSS وحمولات SOAP) التي تقل عن 1 ميجابايت، يكون الأداء فورياً. للملفات الكبيرة جداً — تصدير بيانات بعدة ميجابايت أو ملفات السجلات — فكر في استخدام أداة سطر الأوامر بدلاً من ذلك: xmllint --format input.xml على Linux/macOS (جزء من libxml2)، أو python3 -c "import xml.dom.minidom; print(xml.dom.minidom.parse('input.xml').toprettyxml(indent=' '))" كخيار متعدد المنصات.
كيف أحوّل XML إلى JSON أو JSON إلى XML؟
تركّز هذه الأداة على تنسيق بنية XML والتحقق منها. لتحويل XML إلى JSON أو العكس، استخدم الأدوات المرافقة: محوّل XML إلى JSON يحوّل مستندات XML إلى تمثيل JSON المقابل، ومحوّل JSON إلى XML يحوّل كائنات JSON إلى XML. كلتا الأداتين تعملان 100% في المتصفح دون رفع بيانات.

أدوات ذات صلة

عرض جميع الأدوات →

محوّل Base64 — ترميز وفك ترميز أونلاين

الترميز والتنسيق

رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.

محوّل CSV إلى JSON

الترميز والتنسيق

حوّل CSV إلى JSON في متصفحك. RFC 4180، استنتاج الأنواع، صف العنوان، أمان الأعداد الكبيرة. خصوصية 100%.

JSON Diff مقارنة

الترميز والتنسيق

قارن ملفي JSON فوراً في متصفحك. عرض جنباً إلى جنب مع تمييز الفروق، وإخراج JSON Patch (RFC 6902)، وتجاهل الحقول المزعجة كالطوابع الزمنية والمعرّفات. خصوصية تامة، بدون رفع ملفات.

منسق JSON — التحقق والضغط وإصلاح الأخطاء

الترميز والتنسيق

نسّق JSON وتحقّق من صحته وأصلح الأخطاء فوراً — محرّر مجاني أونلاين يعمل في متصفّحك. يدعم الضغط والتجميل والتحويل. جرّبه الآن.

مدقق JSON Schema

الترميز والتنسيق

تحقق فوراً من JSON مقابل أي JSON Schema في متصفحك. يدعم Draft 2020-12 و2019-09 وDraft-07 مع رسائل أخطاء دقيقة بالمسار. خصوصية تامة - بدون رفع ولا حساب، مجاني.

محوّل JSON إلى CSV

الترميز والتنسيق

حوّل JSON إلى CSV في متصفحك. RFC 4180، Excel، TSV، أنبوب. خصوصية 100%.