esc
XML → JSON

تحويل ⁦XML⁩ إلى ⁦JSON⁩:
المحوّل

تحويل ⁦XML⁩ إلى ⁦JSON⁩ مجانًا وبخصوصية وفي لحظات.

عكس الترتيب JSON → XML

كيفية تحويل تحويل ⁦⁦XML⁩⁩ إلى ⁦⁦JSON⁩⁩

  1. 01أضف ملفات ⁦XML⁩اختر الملفات أو أفلتها على الصفحة.
  2. 02التحويل على جهازكلا يُرفع أي شيء. عدّل الإعدادات إن أردت.
  3. 03تنزيلاحفظ كل ملف على حدة، أو كلها في ملف ⁦ZIP⁩ واحد.
شخصية ملف ترتّب أقواسًا متداخلة في صفوف

ما هو ⁦XML⁩؟

صيغة بيانات قائمة على الوسوم تستخدمها الخلاصات وملفات الإعداد وواجهات ⁦API⁩ القديمة.

XMLبيانات بالوسوم
JSONبيانات متداخلة

حوّل ملفات ⁦XML⁩ إلى ⁦JSON⁩ مقروء، مع تمثيل السمات والنصوص والعناصر المتكررة بطريقة ثابتة. يُفحص ملف ⁦XML⁩ ويُحوَّل في متصفحك، فلا يُرفع أي شيء، ولا يكلفك شيئًا.

كيف تحوّل ⁦XML⁩ إلى ⁦JSON⁩

  1. انقر «اختر الملفات» أو أفلت ملفات ‎.⁦xml⁩ على الصفحة.
  2. يُتحقق من صحة كل ملف ويُحوَّل فور إضافته.
  3. اختر «المسافة البادئة» من لوحة الإعدادات على اليمين (مسافتان، أو ⁦4⁩ مسافات، أو «مضغوط») وانقر «تطبيق على كل الملفات» إذا غيّرتها.
  4. احفظ ملف ‎.⁦json⁩، أو اختر «تنزيل الكل (.⁦zip)⁩».

كيف يتحول ⁦XML⁩ إلى ⁦JSON⁩

لا يتطابق ⁦XML⁩ و⁦JSON⁩ تطابقًا تامًا، لذلك يتبع المحوّل مجموعة ثابتة من القواعد. معرفتها تجعل التعامل مع المخرجات سهلًا.

العنصر الجذر يصبح المفتاح الوحيد في المستوى الأعلى. كل عنصر فرعي يصبح مفتاحًا داخل العنصر الأب. عندما يظهر عنصر أكثر من مرة في الأب نفسه، تُجمع قيمه في مصفوفة؛ وعندما يظهر مرة واحدة، يكون قيمة بسيطة أو كائنًا.

السمات تصبح مفاتيح تبدأ بـ @_، فيتحول ⁦id⁩="⁦7⁩" إلى مفتاح باسم @_⁦id.⁩ وعندما يكون للعنصر سمات ونص معًا، يوضع النص تحت مفتاح باسم #⁦text.⁩

بادئات مساحات الأسماء (⁦namespaces)⁩ تبقى في أسماء المفاتيح، فيبقى ⁦dc:title⁩ كما هو ⁦dc:title.⁩

القيم والمسافات وما يُحذف

  • نص العنصر الذي يبدو كرقم يصبح رقم ⁦JSON⁩، و⁦true⁩ و⁦false⁩ تصبحان قيمًا منطقية. الأرقام ذات الأصفار البادئة والقيم الست عشرية والصيغة الأسية مثل ⁦1e5⁩ تبقى نصوصًا، حتى لا تتغير الرموز والمعرّفات.
  • قيم السمات تبقى دائمًا نصوصًا.
  • تُحذف المسافات في بداية النص ونهايته.
  • التعليقات وتعريف ⁦XML⁩ وتعليمات المعالجة لا تُضمَّن.
  • أقسام ⁦CDATA⁩ تُدمج في نص العنصر.

مشكلات شائعة وحلولها

  • «هذا ليس ⁦XML⁩ صالحًا (السطر ⁦14⁩، العمود ⁦3)⁩»: يُفحص الملف قبل التحويل. تشير الرسالة إلى المشكلة، وغالبًا ما تكون وسمًا غير مغلق، أو علامة & شاردة يجب كتابتها &⁦amp⁩;، أو عنصرين جذريين.
  • حقل يكون أحيانًا كائنًا وأحيانًا مصفوفة: هذا ناتج عن القاعدة أعلاه: عنصر فرعي واحد يعطي قيمة، واثنان أو أكثر يعطيان مصفوفة. في الكود، ضع القيم المفردة في مصفوفة قبل المرور عليها.
  • النص والوسوم المختلطة تفقد ترتيبها: في ⁦XML⁩ مثل فقرة بداخلها كلمات بخط عريض، يُخزَّن النص والعناصر الفرعية تحت مفاتيح منفصلة، فلا يُحفظ الترتيب الأصلي. هذه الأداة مخصصة لـ ⁦XML⁩ البيانات (الخلاصات والصادرات وملفات الإعدادات)، لا للمستندات.

متى تستخدمها

من المهام المعتادة: قراءة خلاصة ⁦RSS⁩ أو ⁦Atom⁩ في ⁦JavaScript⁩، ونقل الإعدادات من ملف إعدادات ⁦XML⁩ قديم، وفحص رد ⁦SOAP⁩ أو صادرات من برامج أعمال قديمة، وتجهيز بيانات تجريبية للاختبارات. ⁦JSON⁩ أسهل في القراءة ويعمل مباشرة في ⁦JavaScript⁩ ومعظم واجهات الـ ⁦API⁩ الحديثة.

للعودة، تستخدم أداة «تحويل ⁦JSON⁩ إلى ⁦XML⁩» اصطلاحات @_ و#⁦text⁩ نفسها، فيمكن إعادة الملف المحوَّل إلى ⁦XML⁩ مشابه.

يُقرأ الملف كله في الذاكرة دفعة واحدة. الصادرات بحجم عشرات الميغابايت لا مشكلة فيها على الكمبيوتر؛ أما تفريغات قواعد البيانات الكبيرة جدًا فقد تكون أثقل من أن يتحملها تبويب متصفح، خاصة على الهاتف.

الخصوصية

التحقق والتحويل كلاهما يعملان في متصفحك باستخدام ⁦fast-xml-parser.⁩ تبقى الملفات على جهازك، وهذا مفيد للصادرات التي تحتوي على بيانات عملاء أو شركات.

نظرة سريعة

السعر
مجاني. بلا تسجيل وبلا علامة مائية.
الخصوصية
تُعالَج الملفات في متصفحك ولا تُرفع أبدًا.
يقبل
XML
ستحصل على
JSON
دفعة
حوّل ملفات كثيرة دفعة واحدة ونزّلها في ملف ⁦ZIP⁩
يعمل على
⁦Chrome⁩ و⁦Edge⁩ و⁦Firefox⁩ و⁦Safari⁩، على الهواتف والحواسيب
دون اتصال
بعد أول تحويل، يواصل العمل دون إنترنت

الأسئلة

هل تُرفع ملفاتي؟

أبدًا. يجري تحويل ⁦XML⁩ إلى ⁦JSON⁩ داخل متصفحك، فتبقى ملفاتك على جهازك.

هل يمكنني تحويل عدة ملفات دفعة واحدة؟

نعم. أضف ما تشاء من الملفات ونزّلها كلها في ملف ⁦ZIP⁩ واحد.

هل يوجد حد لحجم الملف؟

الملفات التي تبلغ عشرات الميغابايت لا مشكلة فيها على معظم أجهزة الكمبيوتر.

كيف تظهر سمات ⁦XML⁩ في ⁦JSON⁩؟

كمفاتيح تبدأ بـ @_، توضع بجانب العناصر الفرعية للعنصر. ويوضع نص العنصر نفسه تحت #⁦text⁩ إذا كانت له سمات أيضًا.

لماذا يكون عنصر كائنًا وآخر مصفوفة؟

العناصر المتكررة داخل الأب نفسه تصبح مصفوفات؛ والعناصر التي تظهر مرة واحدة تبقى قيمًا مفردة.

ماذا يحدث للتعليقات و⁦CDATA⁩؟

تُحذف التعليقات. ويُحتفظ بمحتوى ⁦CDATA⁩ كجزء من نص العنصر.

هل تُحفظ مساحات الأسماء؟

تبقى البادئات في أسماء المفاتيح، مثل ⁦dc:title.⁩ وتظهر تعريفات مساحات الأسماء كمفاتيح سمات تبدأ بـ @_.

هل تتحقق من صحة ملف ⁦XML⁩؟

نعم. يُرفض ⁦XML⁩ غير الصالح مع رقم السطر والعمود لأول مشكلة.