تحويل XML إلى CSV
حوّل خلاصة أو ملف تصدير منتجات أو ملف RSS إلى جدول بيانات. يُعثر على عنصر السجل المتكرر تلقائيًا، بلا حاجة إلى XPath.
أفلت ملفاتك هنا
.xml, .rss, .xhtml, .txt · حتى 300 م.ب
إعدادات إضافيةإعدادات أقل
طريقة تحويل إلى CSV
- 1
إفلات ملف XML
اسحب ملف .xml أو .rss وأفلته على الصفحة. يُتحقق من صحته أولًا، فإذا نقص وسم إغلاق تحصل على رقم سطره وعموده بدل نصف جدول.
- 2
تأكيد عنصر السجل
يُكتشف العنصر المتكرر ويُعرض مع عدد السجلات فيه، مثل rss.channel.item ومعه 40 سجلًا. اختر مرشحًا آخر إذا لم يكن هذا هو المستوى الذي تريده.
- 3
التحويل وتنزيل ملف CSV
انقر على الزر واحفظ الجدول.
لا صفوف في XML، فيُبحث عنها
الشجرة لا تخبرك أي مستوى فيها هو السجل. لذلك يُفحص المستند حتى عمق ستة مستويات، ويُعد في كل مسار عدد العناصر الشقيقة التي تحمل الاسم نفسه. تفوز المجموعة الأكبر، وعند التعادل يفوز المسار الأعمق، لأن rss.channel.item أنفع من rss.channel. وتُعرض حتى خمسة مرشحين مع عدد سجلات كل منهم.
السمات والتداخل والعناصر الأبناء المكررة
تصير كل سمة عمودًا مستقلًا تسبقه البادئة @، فلا تتعارض السمة id على المنتج مع عنصر ابن يحمل الاسم نفسه. وتتحول العناصر الأبناء إلى أعمدة بأسماء مفصولة بنقاط حتى العمق الذي تسمح به، وما هو أعمق من ذلك يُكتب في خلية واحدة بصيغة JSON. أما العناصر الأبناء المكررة فيمكن دمجها في قيمة واحدة، أو ترقيمها، أو إبقاؤها بصيغة JSON.
مساحات الأسماء والمستندات الخبيثة
تُحذف بادئات مساحات الأسماء افتراضيًا، فيصل dc:title عمودًا عاديًا باسم title، والخلاصة التي تمزج ثلاث مفردات تعطي مع ذلك عناوين أعمدة مقروءة. أما المستندات التي تعرّف كيانات مخصصة في DOCTYPE فتُرفض قبل التحليل بدل أن تُوسَّع كياناتها، فهذا هو نوع الملفات الذي يجمّد علامة التبويب في المتصفح.
لا يُرفع شيء من أجل التحويل
أداة التحقق والمحلل وكاتب CSV كلها شيفرة JavaScript تعمل في علامة التبويب هذه في متصفحك. لا يُرسل أي جزء من مستندك إلى خادم، ولا يُخزَّن ولا يُسجَّل، وتستمر الأداة في العمل حتى مع قطع الاتصال بالشبكة. أغلق علامة التبويب، فلا يبقى شيء من الملف.
الأسئلة الشائعة
كيف تحدد الأداة أي عنصر هو السجل؟
بعدّ التكرارات. يُفحص كل مسار حتى العمق السادس بحثًا عن عناصر شقيقة تحمل الاسم نفسه، والمسار الذي فيه أكبر عدد منها يصير السجل؛ وإذا تعادل مساران يفوز الأعمق. وتبقى البدائل ظاهرة مع أعدادها، ويمكنك أيضًا أن تكتب المسار بنفسك إذا كان المستند غير معتاد.
أين تذهب سمات XML؟
تصير كل سمة عمودًا يبدأ اسمه بالبادئة @، فالسمة id تصير @id وتبقى منفصلة عن العنصر الابن id. وإذا كان ملف التصدير يحمل سمات لا تحتاج إليها، فاضبط خيار السمات على التخطي، فتُستبعد كلها ويبقى جدول أضيق.
ماذا يحدث للعناصر المتداخلة داخل السجل؟
تصير أعمدة بأسماء مفصولة بنقاط مثل price.currency، حتى حد العمق الذي تضبطه. وما تحت هذا الحد تُكتب شجرته الفرعية كاملة في خلية واحدة بصيغة JSON، فتبقى البيانات متاحة دون آلاف الأعمدة شبه الفارغة.
لماذا يبدأ ملف CSV بعلامة ترتيب البايت (BOM)؟
حتى يتعرف Excel على الملف بترميز UTF-8 عند فتحه بنقرة مزدوجة، بدل أن يخمّن صفحة ترميز قديمة ويشوّه الحروف اللاتينية ذات العلامات أو النص السيريلي. وإذا كان الملف موجهًا إلى برنامج نصي أو أداة تحميل قاعدة بيانات لا تقبل هذه العلامة، فترميز UTF-8 العادي على بعد إعداد واحد.
لماذا يعرض Excel كل البيانات في عمود واحد؟
ليس في الملف أي خطأ. يقسم Excel الأعمدة بالفاصل المحدد في إعدادات المنطقة في نظامك، وهو الفاصلة المنقوطة في كثير من دول أوروبا. حوّل الملف مرة أخرى مع اختيار الفاصلة المنقوطة، أو استخدم «بيانات» ثم «نص إلى أعمدة» على الملف الذي لديك.
هل تعمل الأداة مع خلاصة RSS أو Atom؟
نعم، وهذه أسهل حالة. يصل الاكتشاف وحده إلى rss.channel.item أو عنصر entry المقابل، ويصير كل عنصر صفًا، وتصل الامتدادات ذات مساحات الأسماء مثل Dublin Core أو وسوم الوسائط أعمدة عادية بعد حذف البادئات.
لماذا ظهرت علامة اقتباس قبل قيمة تبدأ بعلامة يساوي؟
لأن جدول البيانات كان سيعاملها معادلة لولا ذلك، والقيمة القادمة من خلاصة غير موثوقة يمكن صياغتها بحيث تشغّل أمرًا عند فتح الملف. والفاصلة العليا في بدايتها تبطل مفعولها. أما الأعداد السالبة العادية مثل -5 فتبقى كما هي.
رُفض ملفي لأن فيه DOCTYPE، فما السبب؟
يُرفض عمدًا أي DOCTYPE يعرّف كيانات. فتعريفات الكيانات المتداخلة يمكن أن تتمدد إلى غيغابايتات من النص وتجمّد علامة التبويب، والكيانات الخارجية يمكن أن تصل إلى ملفات في أماكن أخرى. احذف تعريفات الكيانات من DOCTYPE، فيتحول المستند بشكل طبيعي.