يعمل على جهازك · الملف لا يغادر جهازك.
أضف ملف CSV أو الصقه واحصل على مستند XML فيه عنصر <root> وعنصر <item> لكل صف وعنصر فرعي لكل عمود باسم عنوانه. الفاصل يُكتشف تلقائيًا، والحقول المقتبسة تُقرأ وفق RFC 4180، وعلامة BOM تُزال.
أسماء الأعمدة التي لا يقبلها XML — بمسافات أو رموز أو رقم في البداية — تُصحَّح بشرطات سفلية، فالمخرج سليم البنية دائمًا. القيم نص داخل العناصر بلا سمات.
ليست مناسبة لِـ: إنتاج XML بمخطط محدد (صيغة بنك أو ضرائب أو متجر) — أسماء العناصر من عناوينك لا من مخطط.
يحفظ XML كل قيمة نصًا، فلا فائدة من قراءة الأرقام أو true وfalse بنوعها، ولهذا لا تعرض هذه الصفحة ذلك الخيار. تُكتب كل قيمة كما هي في CSV: يبقى 1.50 هو 1.50، و1e3 هو 1e3، وTRUE هي TRUE، وكلمة NULL هي NULL. والخلية الفارغة تعطي عنصرًا فارغًا مثل <note/>، والأصفار البادئة، كما في 007، تبقى.
تُصلَح العناوين المكررة والفارغة أولًا: عمودان باسم name يصبحان <name> و<name_2>، والعنوان الثالث الفارغ يصبح <column_3>. ثم يُجعل كل اسم مقبولًا في XML. فيصبح Total (USD) هو Total__USD_، لأن المسافات والأقواس تتحول إلى شرطات سفلية، ويصبح 1st هو _1st. والشرطة والنقطة مسموحتان، فيبقى e-mail كما هو، ويبقى address.city عنصرًا واحدًا بهذا الاسم ولا يُقسَّم إلى عناصر متداخلة. والعناوين بأي كتابة، كالعربية أو الصينية، تبقى كما كُتبت.
والعنوانان اللذان ينتهيان إلى الاسم نفسه، مثل "a b" و"a_b"، يُكتبان كلاهما <a_b> داخل كل <item>. وقد لا يرى البرنامج الذي يقرأ العناصر بأسمائها إلا الأول منهما، فغيّر اسم أحدهما في CSV أولًا.
يُقرأ النص بالقواعد نفسها التي تتبعها /csv-to-json، وهناك شرحها بالأمثلة: كيف تعمل علامات التنصيص، وكيف يُكتشف الفاصل، وكيف يُعرف ترميز الملف، وما يحدث لصف فيه خلايا أكثر أو أقل من العناوين. وفي XML تصبح الخلية الناقصة عنصرًا فارغًا. أما الخلايا التي تتجاوز آخر عنوان فلا اسم عنصر لها، فتُترك، وتذكر رسالة عدد الصفوف التي فيها مثلها وأين يقع أولها.
واسما <root> و<item> ثابتان. فإن كان نظام ما ينتظر أسماء أخرى، مثل <customers> و<customer>، فاستبدلهما في محرر نصوص بعد التنزيل؛ ولا يحتاج شيء آخر في البنية إلى تغيير.
هذه الصفحة بلغات أخرى: English · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা