عندك بيانات JSON ويطلب النظام XML؟
أداة تحوّل بيانات JSON إلى مستند XML صحيح البنية: كل مفتاح يصبح وسمًا وكل قيمة محتواه، مع دعم المصفوفات والكائنات المتداخلة. تعمل داخل متصفحك دون رفع البيانات لأي خادم، وتناسب من يحتاج تغذية نظام قديم أو واجهة برمجية حكومية لا تقبل غير XML.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
أنظمة كثيرة لا تزال تتحدث XML فقط
رغم انتشار JSON، لا تزال أنظمة حكومية وأنظمة مؤسسية قديمة تتطلب XML كصيغة إدخال وحيدة: تصاريح جمركية، تقارير ضريبية آلية، وواجهات تبادل بيانات بين مؤسسات موقّعة قبل سنوات على معيار ثابت يصعب تغييره. حين تُولَّد بيانات حديثة بصيغة JSON من نظام داخلي، يوفّر هذا التحويل الجسر اللازم دون إعادة بناء أي جزء من النظامين، ودون كتابة محوّل XML يدوي لكل حقل جديد يُضاف مستقبلًا.
كيف تتحول المفاتيح والمصفوفات إلى وسوم
يصبح كل مفتاح في كائن JSON وسمًا يحمل اسمه، وتتكرر المصفوفة كوسوم متتالية بالاسم نفسه داخل عنصر أب واحد، محاكاةً للنمط الشائع في مستندات XML الحقيقية. المفاتيح التي تبدأ برقم أو تحتوي رموزًا غير صالحة في اسم وسم تُعدَّل تلقائيًا لبنية صالحة مع الحفاظ على القيمة الأصلية كاملة، فينتج مستند يقبله أي محلّل XML قياسي دون رفض أو خطأ صياغة.
الاستخدام من الصفحة مباشرة
ألصق بيانات JSON، شغّل الأداة، وانسخ مستند XML الناتج أو نزّله. تجري المعالجة داخل متصفحك: لا تغادر البيانات جهازك، ولا حدّ لعدد المرات، ولا حاجة لتسجيل. تناسب ملفات تصل حتى 25 MB، وتعمل من الجوال بالطريقة نفسها التي تعمل بها من الحاسوب. تُعرَض معاينة للمستند الناتج بإزاحة واضحة قبل النسخ، فتتأكد من صحة تسلسل الوسوم دون فتح ملف خارجي أو برنامج إضافي.
الأتمتة عبر الـAPI لتكامل الأنظمة
من يغذّي نظامًا حكوميًا أو شريكًا تجاريًا بانتظام يحتاج التحويل ضمن مسار عمل آلي، لا لصقًا يدويًا في كل مرة يتغير فيها السجل. نفس المحرك متاح عبر الـAPI بسعر ثابت قدره $0.002 للمستند الواحد، دون اشتراك شهري، مناسب لخط بيانات يرسل عشرات السجلات يوميًا إلى نظام لا يقبل غير XML. يبقى شكل المستند الناتج ثابتًا بين الطلبين، فيمر بسلاسة عبر أي فحص صياغة يجريه النظام المستقبِل.
حالات الاستخدام
تكامل مع نظام جمركي حكومي
يرسل فريق تقنية في شركة الواحة للتجارة المحدودة بيانات شحنات مسجّلة بصيغة JSON، ويحوّلها إلى XML عبر الـAPI قبل إرسالها للنظام الجمركي الذي لا يقبل غير هذه الصيغة.
تقرير آلي لنظام محاسبي قديم
يعمل نظام محاسبي قديم في مؤسسة النخيل للمقاولات باستيراد XML فقط؛ يحوّل الفريق تصدير النظام الحديث بصيغة JSON إلى XML قبل كل استيراد شهري.
تبادل بيانات مع شريك تجاري
تتبادل شركة الخليج الرقمية بيانات طلبات مع شريك يعتمد معيار XML متفقًا عليه منذ سنوات، فتحوّل استجابة نظامها الحديث إلى الصيغة المتفق عليها قبل كل إرسال.
الأسئلة الشائعة
لماذا لا يزال بعض الأنظمة يطلب XML بدل JSON؟
أنظمة حكومية ومؤسسية قديمة بُنيت على معيار XML موقّع منذ سنوات، وتغييره أصعب من إضافة تحويل بسيط قبل الإرسال.
هل الأداة مجانية؟
نعم، داخل المتصفح بلا حدّ وبلا تسجيل. المدفوع فقط عبر الـAPI بسعر $0.002 للمستند.
ماذا يحدث لمفتاح JSON غير الصالح كاسم وسم؟
يُعدَّل تلقائيًا لبنية صالحة مع الحفاظ على القيمة الأصلية كاملة.
هل يُرسل ملفي إلى خادم؟
لا، عند الاستخدام من هذه الصفحة تجري المعالجة داخل متصفحك فقط.
ما أقصى حجم بيانات مدعوم؟
25 ميغابايت في الطلب الواحد.
هل يمكن تحديد اسم العنصر الجذر في مستند XML؟
نعم، عبر الـAPI يمكن تحديد اسم مخصص للعنصر الجذر بدل الاسم الافتراضي.
هل يعمل من الجوال؟
نعم، بالطريقة نفسها التي يعمل بها من الحاسوب.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/data/json-to-xml \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/json-to-xml", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/json-to-xml",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/json-to-xml", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/json-to-xml", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"input": "…"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.json_to_xml",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |