تحويل XML إلى Excel
حوّل خلاصة XML أو ملف تصدير من نظام إلى جدول بيانات. يُعثر على عنصر السجل المتكرر تلقائيًا، وتصير السمات أعمدة مستقلة.
أفلت ملفاتك هنا
.xml, .rss, .xhtml, .txt · حتى 300 م.ب
إعدادات إضافيةإعدادات أقل
طريقة تحويل إلى Excel
- 1
إفلات ملف XML
الخلاصات والكتالوجات وملفات التصدير من الأنظمة كلها تُقرأ محليًا. تُقبل ملفات RSS وXML العادي وXHTML.
- 2
تأكيد عنصر السجل المكتشف
المسار الأكثر تكرارًا يصير الصف. غيّره إذا كان ملفك يضع السجلات في موضع غير معتاد.
- 3
التحويل وتنزيل ملف XLSX
تحصل على صف لكل سجل مع صف عناوين مثبت، جاهز للتصفية والفرز.
ما الذي يُعد صفًا
لا يعرف XML شيئًا اسمه جدول، لذلك فالسؤال الحقيقي الأول هو: أي عنصر هو السجل؟ تُفحص شجرة المستند، ويُعد لكل عقدة عدد العناصر الأبناء التي تحمل الاسم نفسه. يفوز المسار الذي فيه أكبر عدد من التكرارات، وعند التعادل يفوز المسار الأعمق لأنه أكثر تحديدًا: rss.channel.item إجابة أنفع من rss.channel. هذه القاعدة تصيب في الخلاصات والكتالوجات في كل مرة تقريبًا، لكنها تبقى قاعدة تقديرية، ولهذا جاء المسار حقلًا قابلًا للتعديل لا قرارًا خفيًا. وملف تصدير من 1C يتكرر فيه Document وTableRow معًا هو بالضبط الحالة التي لا يعرف فيها إلا أنت أيهما تقصد.
السمات ومساحات الأسماء والتداخل
تحمل السمة بيانات كما يحملها العنصر، فتصير id="7" عمودًا باسم @id، وتصير currency="EUR" المتداخلة sum.@currency. يمكنك تغيير البادئة أو استبعاد السمات تمامًا. وتُحذف بادئات مساحات الأسماء افتراضيًا، فيقع dc:title في عمود باسم title، وهذا ما يريده الجميع تقريبًا حين يفتحون الورقة؛ أوقف هذا الخيار فيبقى الاسم مع بادئته. وتتحول العناصر المتداخلة إلى أعمدة بأسماء مفصولة بنقاط حتى العمق الذي تسمح به، وما هو أعمق يُخزَّن بصيغة JSON مضغوطة بدل أن تتمدد الورقة عرضًا.
تعريفات الكيانات تُرفض ولا تُوسَّع
يمكن لملف XML أن يعرّف كياناته الخاصة داخل DOCTYPE، وبتوسيعها يستنزف هجوم billion laughs الذاكرة، وتقرأ ثغرة XXE الملفات من الخادم. لا توجد طريقة آمنة لتوسيع كيان غير موثوق، ولا سبب وجيهًا لمحاولة ذلك في تحويل إلى جدول بيانات، لذلك يُرفض المستند الذي فيه تعريف ENTITY قبل أن يبدأ التحليل، مع رسالة تشرح السبب بدقة. احذف DOCTYPE، فيتحول باقي الملف بشكل طبيعي.
التحليل هنا، لا على خادم
فك الترميز والتحقق والتحويل كلها تجري داخل علامة التبويب هذه في متصفحك، بمحلل كُتب لهذا الغرض. لا يُرفع شيء، ورفض توسيع الكيانات الخارجية يعني أيضًا أن أي جزء من الملف لا يستطيع الاتصال بأي مكان.
الأسئلة الشائعة
كيف يُختار العنصر المتكرر؟
بعدّ العناصر الشقيقة التي تحمل الاسم نفسه في المستند كله، واختيار المسار الذي فيه أكبر عدد منها، مع تفضيل المسار الأعمق إذا تعادل مساران. ويُعرض المسار المختار، ويمكنك استبداله بأي مسار تكتبه.
أين تذهب السمات؟
في أعمدة مستقلة، تسبقها البادئة @ افتراضيًا: @id لسمة على السجل، وsum.@currency لسمة على عنصر متداخل. يمكنك تغيير البادئة أو تخطي السمات تمامًا.
ماذا يحدث للعناصر المتداخلة؟
تصير أعمدة بأسماء مفصولة بنقاط مثل order.customer.city، حتى حد العمق الذي تضبطه. وما هو أعمق يُكتب نصًا مضغوطًا بصيغة JSON في خلية واحدة بدل أن يتمدد إلى أعمدة أكثر.
ماذا عن مساحات الأسماء؟
تُحذف البادئات مثل dc: افتراضيًا، فيصير dc:title عمودًا باسم title. وإذا كانت مساحتا أسماء تستخدمان فعلًا الاسم المحلي نفسه في ملفك، فأوقف الحذف لتبقيا منفصلتين.
هل تعمل الأداة مع RSS؟
نعم، وهذه هي الحالة التي يتعامل معها الاكتشاف أفضل من غيرها: يُعثر على rss.channel.item تلقائيًا، فتحصل على صف لكل عنصر في الخلاصة، مع title وlink وpubDate أعمدةً.
ما الحد الأقصى لعدد الصفوف؟
1,048,576 صفًا، وهو حد صيغة XLSX نفسها. والخلاصة الأكبر تُرفض مع رابط إلى محوّل CSV، الذي لا سقف فيه كهذا.
هل يُرفع ملفي؟
لا. يُفك ترميز الملف ويُحلَّل ويُحوَّل داخل متصفحك، والكيانات المعرّفة تُرفض رفضًا قاطعًا بدل أن تُوسَّع، فلا شيء في المستند يستطيع أن يطلق طلبًا عبر الشبكة.