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