تحويل XML وJSON
حوّل بنيويًا مع خيارات للسمات والقيم المكررة. لا يعد بتحويل متطابق لكل XML.
تصبح السمات مفاتيح تبدأ بـ "@"، ويصبح النص المجاور لعناصر أخرى "#text"، وتصبح العناصر المكررة قائمة. تبقى القيم نصًا. تُرفض DOCTYPE والكيانات المخصّصة.
النتيجة
الصق XML أو JSON وسيظهر النص المحوَّل هنا.
طريقة الاستخدام
- اختر الاتجاه.
- الصق النص أو اضغط «جرّب مثالًا».
- انسخ النتيجة أو نزّلها ملفًا.
أمثلة
- سمة ونص<book id="1"><title>كليلة</title></book> {"book": {"@id": "1", "title": "كليلة"}}
- عنصر مكرر<a><b>1</b><b>2</b></a> {"a": {"b": ["1", "2"]}}
- من JSON{"note": {"@lang": "ar", "#text": "مرحبا"}} <note lang="ar">مرحبا</note>
تفاصيل الأداة والخصوصية
الصق XML لتحصل على JSON مرتّب، أو الصق JSON لتحصل على XML مزاح بسطر التعريف. زر «اعكس الاتجاه» يحوّل النتيجة مرة أخرى.
خدمات قديمة كثيرة تتحدث XML، والشفرة الحديثة تقرأ JSON.
الخيارات
- السمات مفاتيح تبدأ بـ @، والنص بجوار عناصر أخرى "#text"، والعناصر المكررة قائمة.
- تُقرأ التعليقات وسطر <?xml?> وCDATA والكيانات القياسية والرقمية.
- JSON بعدة مفاتيح أو قائمة يُغلَّف بعنصر <root>.
الحدود
- القيم تبقى نصًا في JSON (مثل "120").
- DOCTYPE وتعريفات الكيانات تُرفض حفاظًا على الأمان، والأخطاء تُعرض بالسطر والعمود.
الخصوصية
ما تكتبه يبقى في متصفحك. لا يُرفع شيء ولا يُحفظ على الخادم.
أسئلة
لماذا "120" بين علامتي تنصيص؟
لأن XML لا يفرّق بين الرقم والنص، فيبقى نصًا.
هل تُحفظ مساحات الأسماء مثل x:price؟
نعم، تبقى في الاسم كما هي.
هل يعود الملف كما كان بعد التحويل مرتين؟
غالبًا، عدا التعليقات والترتيب بين النص والعناصر.
هل يُرفع شيء؟
لا.