يعمل على جهازك · الملف لا يغادر جهازك.
أضف ملف XML من سجلات مكررة — <records><record>…</record></records>، خلاصة RSS، تصديرًا من قاعدة بيانات — واحصل على CSV بصف لكل سجل. تُقرأ الوثيقة بمحلل XML في متصفحك، ثم تُكتشف تلقائيًا أطول قائمة من العناصر المكررة، أيًّا كان ما يغلّفها — سمة على الغلاف، أو عنوان الخلاصة ورابطها بجانب عناصرها — ويسمّي سطر النتيجة القائمة التي استعملها.
يُفرد كل سجل كما في أداة JSON إلى CSV: العناصر المتداخلة أعمدة بنقاط (address.city)، والسمات أعمدة تبدأ بـ @ (@id)، والعناصر الداخلية المكررة التي لها عناصر فرعية أعمدة مرقّمة (line.0.sku)، والعناصر النصية المكررة تُضمّ بفواصل منقوطة (a;b)، وصف العناوين اتحاد كل الأعمدة. وتُكتب القيم كما هي في XML تمامًا. يُكتب CSV بترميز UTF-8 مع BOM اختيارية لـ Excel.
ليست مناسبة لِـ: المستندات التي فيها عدة قوائم من السجلات — لا تصبح صفوفًا إلا أطولها؛ ولغيرها حوّل إلى JSON، وانسخ تلك القائمة، وحوّلها بأداة JSON إلى CSV.
الصفوف هي أطول قائمة من العناصر المكررة في أي مكان تحت الجذر، أيًّا كان ما يغلّفها. فيعطي <records count="2"><record>…</record><record>…</record></records> صفًا لكل <record>، مع أن للغلاف سمة. وتعطي خلاصة RSS صفًا لكل <item>، بأعمدة مثل title وlink وpubDate، مع أن عنوان القناة نفسها ورابطها يجاوران العناصر. ويسمّي السطر تحت النتيجة القائمةَ المستخدمة، مثل rss.channel.item.
والقيم التي تجاور تلك القائمة، كعنوان الخلاصة نفسها، ليست جزءًا من أي سجل فتُترك. وحين يحوي المستند عدة قوائم من السجلات، لا تصبح صفوفًا إلا أطولها. ولتحويل قائمة أخرى، حوّل الملف بأداة /xml-to-json، وانسخ تلك القائمة من [ إلى ]، ثم الصقها في /json-to-csv وحوّل.
حين لا يوجد عنصر مكرر يكون السجل الوحيد هو الصف الوحيد، وأعمدته أسماء حقوله هو: <records><record><name>Ali</name><city>Cairo</city></record></records> يعطي العمودين name وcity. فالملف الذي يحوي أحيانًا سجلًا واحدًا وأحيانًا سجلات كثيرة يحتفظ بصف العناوين نفسه، وهذا مهم حين يقرأ برنامج آخر الأعمدة بأسمائها.
تُكتب القيم كما هي في XML تمامًا: يبقى 1.50 هو 1.50، وTRUE هي TRUE، والعنصر الذي فيه NULL يعطي النص NULL، بينما العنصر الفارغ يعطي خلية فارغة. وتحتفظ 007 بأصفارها، والتواريخ تبقى كما كُتبت. والقيمة التي تبدأ بـ = أو + أو - أو @ تُسبق بفاصلة عليا (')، كما في /json-to-csv، حتى لا ينفّذها برنامج الجداول معادلة.
والعناصر الفرعية المكررة التي لا تحوي إلا نصًا تُضمّ بفواصل منقوطة في خلية واحدة، فيعطي عنصرا <tag> القيمة a;b. أما العناصر الفرعية المكررة التي لها عناصر فرعية خاصة بها فتأخذ أعمدة مرقّمة، مثل line.0.sku وline.1.sku. وتبقى بادئات مساحات الأسماء في أسماء الأعمدة، كما في soap:Body.price. والنص الذي يجاور عناصر فرعية يذهب إلى عمود #text دون موضعه بينها. ويُقرأ الملف بالترميز الذي يعلنه سطره الأول.
هذه الصفحة بلغات أخرى: English · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা