Command Palette

Search for a command to run...

CSV مقابل XML: كيف تصبح صفوف جداول البيانات عناصر

CSV مقابل XML: كيف تصبح صفوف جداول البيانات عناصر

T
Toolz Team
|Sep 13, 2026|15 دقيقة قراءة
تفضل Toolz.dev على Google

جزء من مجموعة أدوات البيانات

محول CSV إلى XML

تحويل بيانات CSV إلى XML جيد التكوين في المتصفح. يصبح كل صف عنصرًا أو مجموعة من السمات، مع الاكتشاف التلقائي للمحدد وأسماء العناصر المخصصة والهروب المناسب.

استخدم محول CSV إلى XML

أنا أبني تولز.ديفوالمهمة المتكررة التي أقوم بها عبر عمل WordPress وLaravel هي تغذية البيانات في الأنظمة التي تم تصميمها قبل عقد أو عقدين من الزمن. لا يزال الكثير منهم يتحدثون لغة XML وXML فقط: موجز منتج للسوق، وتنسيق استيراد لحزمة محاسبية، ونقطة نهاية SOAP التي لن تنظر إلى أي شيء آخر. تصل البيانات دائمًا تقريبًا كتصدير CSV من جدول بيانات، وبالتالي فإن المهمة هي تحويل الصفوف المسطحة المفصولة بفواصل إلى مستند XML منظم. لقد شاهدت هذا الخطأ بكل الطرق الممكنة، بدءًا من اسم العميل الذي يحتوي على فاصلة مقسمة إلى عمودين، إلى علامة الضم في اسم الشركة مما جعل الملف بأكمله يفشل في التحليل. ال محول CSV إلى XML موجود لإجراء هذا التحويل بشكل صحيح، في المتصفح، دون لصق قائمة العملاء في خادم مجهول. يغطي هذا الدليل ما يتضمنه التحويل، ولماذا تكون الأجزاء الصعبة صعبة، وكيفية تشكيل الإخراج لكل ما سيتم قراءته.

ليرة تركية؛DR: يقرأ محول CSV إلى XML الصفوف المفصولة بفواصل ويكتبها كمستند XML جيد التكوين، حيث يصبح كل صف عنصرًا وتصبح كل خلية إما عنصرًا فرعيًا مسمىًا أو سمة. يقوم بتحليل CSV لكل RFC 4180، بحيث تظل الحقول المقتبسة التي تحتوي على فواصل أو علامات اقتباس أو فواصل أسطر سليمة؛ يكتشف تلقائيًا ما إذا كان المحدد عبارة عن فاصلة أو فاصلة منقوطة أو علامة تبويب أو أنبوب؛ فهو يجبر أسماء الأعمدة على التحول إلى علامات XML صالحة؛ ويهرب من الأحرف ذات العلامات المهمة بحيث يتم تحليل الإخراج دائمًا. يتم تشغيله بالكامل في متصفحك، لذلك لا يتم تحميل البيانات الموجودة في ملف CSV الخاص بك مطلقًا.

ما الفرق بين CSV وXML؟

CSV، القيم المفصولة بفواصل، هي تنسيق نص مسطح. كل سطر عبارة عن سجل، وداخل السطر يتم فصل كل حقل بواسطة محدد، عادة ما يكون فاصلة. إنه مضغوط، ويمكن لكل جدول بيانات تصديره، ومن التافه أن يقرأه الإنسان. ما لا يمكنه فعله هو البنية أو المعنى الصريح. لا يوجد شيء في ملف CSV يوضح ما يعنيه العمود، ولا يوجد تداخل ولا أنواع؛ عقد الخلية true وخلية تحمل الكلمة true لا يمكن تمييزها، والقيمة التي تحتوي في حد ذاتها على فاصلة تحتاج إلى اقتباس خاص لتجنب قراءتها كحقلين.

XML، لغة التوصيف القابلة للتوسيع، هي التجارة المعاكسة. يتم تغليف كل قيمة بعلامة مسماة، لذلك <name>Ada Lovelace</name> يحمل كلاً من القيمة والتسمية الخاصة به. يشتري هذا الإسهاب البنية: تتداخل العناصر، ويمكن التحقق من صحة المستندات مقابل مخطط، ويمكن لورقة الأنماط تحويل كل شيء. تم توضيح القواعد الخاصة بما يهم مثل XML جيدة التكوين في مواصفات W3C XML 1.0وهي صارمة بطرق لا تكون CSV أبدًا، ولهذا السبب بالضبط يجب أن يكون التحويل الميكانيكي حذرًا. إن تحويل CSV إلى XML يتعلق بشكل أساسي بإضافة البنية والهروب الذي يتركه CSV ضمنيًا.

كيف يصبح الصف عنصرا؟

يتعامل التعيين الطبيعي مع صف CSV الأول كرأس، مع الاحتفاظ بأسماء الأعمدة، وكل صف تالٍ كسجل واحد. يصبح كل سجل عنصرًا صفيًا، وداخله تصبح كل خلية عنصرًا فرعيًا يُسمى على اسم عمودها. لذلك CSV من id,name,role مع صف البيانات 1,Ada Lovelace,Engineer يصبح:

<rows>
  <row>
    <id>1</id>
    <name>Ada Lovelace</name>
    <role>Engineer</role>
  </row>
</rows>

الخارجي rows العنصر هو جذر المستند، لأن مستند XML جيد التكوين يجب أن يحتوي على عنصر واحد عالي المستوى يغلف كل شيء آخر. يتيح لك المحول إعادة تسمية كل من الجذر والعنصر لكل صف، حتى تتمكن من الإنتاج <catalog><product>...</product></catalog> بدلا من ذلك عندما يكون هذا هو ما يتوقعه هدفك. تصبح أسماء الأعمدة هي أسماء العلامات، حيث يعض القيد الحقيقي الأول، لأنه ليس كل عنوان عمود هو علامة XML قانونية.

لماذا يتم تغيير بعض أسماء الأعمدة؟

أسماء عناصر XML ليست ذات شكل حر. تنص المواصفات على أن الاسم يجب أن يبدأ بحرف أو شرطة سفلية وقد يحتوي بعد ذلك على أحرف وأرقام وواصلات ونقاط وشرطات سفلية، ولكن ليس مسافات وليس معظم علامات الترقيم، وقد لا يبدأ برقم. عمود جدول بيانات يسمى First Name أو Unit Price ($) أو 2024 Total هو عنوان جيد تمامًا وعلامة XML غير قانونية. إذا انبعث محول <First Name> لن يتم تحليل الوثيقة على الإطلاق.

لذا تقوم الأداة بتطهير كل اسم عمود إلى علامة صالحة. تصبح المسافات والأحرف غير القانونية شرطات سفلية، لذلك First Name يصبح First_Name، والاسم الذي يبدأ برقم يحصل على بادئة شرطة سفلية 2024 Total يصبح _2024_Total. إذا تم تطهير عمودين لنفس العلامة، أو قام الرأس بتكرار الاسم بشكل حقيقي، فإن التكرارات تحصل على لاحقة رقمية بحيث لا يقوم أي عمود بالكتابة فوق عمود آخر بصمت، وتحذرك الأداة عند القيام بذلك. الضمان المهم هو أنه يتم تعديل أسماء العلامات فقط؛ يتم تمرير البيانات الموجودة داخل كل خلية دون تغيير. إذا كنت بحاجة إلى الحفاظ على التسميات الأصلية تمامًا، فغالبًا ما يكون وضع السمة، الموضح أدناه، مناسبًا بشكل أفضل لأن أسماء السمات تواجه نفس القواعد ولكن يمكنك أيضًا اختيار حمل العنوان كقيمة في مكان آخر.

ماذا عن الفواصل والاقتباسات داخل القيمة؟

هذا هو الجزء الذي يكسر المحولات الساذجة، وهو يستحق الفهم. لدى CSV اتفاقية اقتباس، تم إضفاء الطابع الرسمي عليها في RFC 4180، للقيم التي تحتوي على المحدد أو فاصل الأسطر. يتم تغليف هذه القيمة بعلامات اقتباس مزدوجة، وأي علامة اقتباس مزدوجة حرفية بداخلها مكتوبة على شكل علامتي اقتباس مزدوجتين. لذلك حقل الشركة القابضة Hopper, Grace يتم تخزينه في CSV كـ "Hopper, Grace"، وقراءة ملاحظة she said "hi" يتم تخزينها كما "she said ""hi""".

المحول الذي يقسم كل سطر على الفواصل سوف يشوه كليهما، ويحول حقلًا واحدًا إلى حقلين ويترك علامات الاقتباس الضالة في كل مكان. تستخدم هذه الأداة محللًا مناسبًا لآلة الحالة يتتبع ما إذا كان داخل حقل مقتبس، لذلك تتم قراءة الفاصلة المضمنة، والاقتباس المضمن، وحتى السطر الجديد داخل القيمة المقتبسة كجزء من الحقل الفردي الذي ينتمون إليه. هذا هو الفرق بين العميل المسمى Smith, John الوصول كواحد <name> العنصر والوصول كسجل مكسور بعمود إضافي. إذا خرج تصديرك من Excel أو Google Sheets أو تفريغ قاعدة البيانات، فمن المؤكد تقريبًا أنه يستخدم هذا الاقتباس، وتحليله بشكل صحيح ليس اختياريًا.

بمجرد تحليل القيمة بأمان، لا يزال يتعين جعلها آمنة لـ XML، وهي مشكلة هروب منفصلة. خمسة أحرف مميزة في XML، والأحرف الثلاثة التي تهم في نص العنصر هي علامة الضم، وعلامة أقل من، وعلامة أكبر من. خلية تحتوي على Ben & Jerry's أو x < y سيتم إنتاج XML غير صالح إذا تمت كتابته حرفيًا، لذلك يستبدلها المحول بالكيانات المحددة مسبقًا &amp;، &lt;، و &gt;. في قيم السمات، يتم الهروب من الاقتباس المزدوج أيضًا. هذا الهروب هو ما يضمن توزيع المخرجات بغض النظر عما تحتويه البيانات.

هل يجب أن تكون كل خلية عنصرًا أم سمة؟

يمنحك XML مكانين لوضع قيمة: كنص عنصر فرعي، أو كسمة على عنصر الصف. يدعم المحول كليهما، وأيهما صحيح يعتمد كليًا على النظام الذي سيقرأ الملف. ينتج وضع العنصر النموذج القابل للقراءة والتداخل:

<row>
  <name>Ada</name>
</row>

يقوم وضع السمة بطي الصف بأكمله إلى عنصر إغلاق ذاتي واحد

<row name="Ada" role="Engineer"/>

وإليك كيفية المقارنة بين الأبعاد التي عادة ما تقرر ذلك

اعتبار عناصر الطفل سمات
سهولة القراءة أعلى، قيمة واحدة لكل سطر أكثر كثافة، صف واحد في كل سطر
حجم الملف أكبر، العلامات متكررة أصغر
يمكن أن تعشش في وقت لاحق نعم لا
القيم المتكررة لكل عمود مسموح قيمة واحدة لكل اسم سمة
ملاءمة نموذجية بيانات نمط المستند، والخلاصات السجلات المدمجة، التكوين

كقاعدة عامة، إذا كانت البيانات تشبه السجل ومسطحة وكان القارئ يريدها صغيرة، فإن السمات جيدة؛ إذا كانت بنية البيانات قد تنمو لاحقًا، أو سيقرأها الإنسان، فإن العناصر هي الإعداد الافتراضي الأكثر أمانًا. عندما لا تكون متأكدًا مما يريده النظام المستهلك، تكون العناصر هي الخيار الأكثر تحفظًا لأن أي شيء يقبل السمات يمكن أيضًا تكييفه مع العناصر، ولكن العكس ليس صحيحًا دائمًا.

كيفية استخدام محول CSV إلى XML

الخطوة 1: الصق ملف CSV الخاص بك

لصق أو كتابة ملف CSV الخاص بك في مربع الإدخال. تعمل الكتلة المنسوخة مباشرة من Excel أو Google Sheets، كما تعمل محتويات ملف .csv الملف، بما في ذلك الحقول المقتبسة التي تحتوي على فواصل أو فواصل أسطر.

الخطوة 2: اضبط الخيارات

اترك المحدد عند الاكتشاف التلقائي أو اختر واحدًا بشكل صريح، وتأكد مما إذا كان الصف الأول عبارة عن رأس، وقم بتعيين أسماء عناصر الجذر والصف، واختر ما إذا كانت كل خلية تصبح عنصرًا فرعيًا أو سمة. يمكنك أيضًا تبديل إعلان XML والتبديل بين الإخراج ذي المسافة البادئة والمحددة.

الخطوة 3: التحويل

انقر فوق تحويل إلى XML. تقوم الأداة بتوزيع كل صف، وتعقيم أسماء الأعمدة إلى علامات صالحة، والتهرب من أحرف الترميز، وتجميع مستند جيد التكوين، لتحذيرك بشأن أي أعمدة تمت إعادة تسميتها أو صفوف خشنة.

الخطوة 4: نسخ أو تنزيل

انسخ XML إلى الحافظة الخاصة بك أو قم بتنزيله كـ .xml ملف. إذا لم يكن الشكل مناسبًا تمامًا للنظام المستهدف، فاضبط أسماء العناصر أو قم بالتبديل بين وضع العنصر والسمة وقم بالتحويل مرة أخرى.

لماذا الكشف التلقائي عن المحدد؟

ليس كل &quot؛CSV&quot؛ مفصولة بفواصل. تستخدم الصادرات من المناطق الأوروبية في كثير من الأحيان فاصلة منقوطة، لأن الفاصلة هي الفاصل العشري في تلك المناطق، وغالبًا ما يتم فصل البيانات المسحوبة من قاعدة بيانات أو سجل بعلامات تبويب. يقوم المحول المقفل بالفواصل بقراءة ملف الفاصلة المنقوطة كعمود عريض واحد وينتج هراء. تكتشف هذه الأداة المحدد عن طريق تجربة الفاصلة المنقوطة والفاصلة المنقوطة وعلامة التبويب والأنبوب واختيار أي منها ينتج عددًا ثابتًا من الأعمدة عبر الصفوف العديدة الأولى، وهي إشارة أكثر موثوقية بكثير من التردد الخام لأن الفاصلة داخل النثر تظهر غالبًا ولكن بشكل غير منتظم. يمكنك دائمًا تجاوز التخمين عندما يكون الملف غير عادي، ولكن في الحالات الشائعة، يعني الاكتشاف لصقه والذهاب.

الصفوف الخشنة، حيث يحتوي الخط على حقول أكثر أو أقل من الرأس، هي الفوضى الأخرى في العالم الحقيقي. يقوم المحول بوضع صفوف قصيرة تحتوي على عناصر فارغة ويحذرك بدلاً من إسقاط البيانات بصمت، حتى تتمكن من رؤية أن الصف 47 كان يفتقد حقليه الأخيرين بدلاً من اكتشافه في اتجاه مجرى النهر. تحصل الحقول الإضافية خارج الرأس على أسماء أعمدة عامة، لذا لا يتم فقدان أي شيء، ويخبرك التحذير بالضبط بعدد الصفوف التي تأثرت، وهو ما يكفي عادةً لتتبع المشكلة مرة أخرى إلى محدد طائش في المصدر. إذا كنت تريد فحص ملف فوضوي قبل تحويله، فإن عارض CSV يعرضه كجدول بنفس المحلل اللغوي المتسامح، والذي غالبًا ما يكون أسرع طريقة لاكتشاف محدد طائش أو اقتباس غير مغلق قبل أن يصبح مخرجات مشوهة.

حيث يتناسب محول CSV إلى XML مع كل شيء آخر

نادراً ما يكون تحويل البيانات قفزة واحدة. قد يحتاج نفس ملف CSV الذي يحتاج إلى أن يصبح XML اليوم إلى أن يصبح JSON غدًا لواجهة برمجة تطبيقات REST، أو مجموعة من إدخالات SQL لتحميل قاعدة البيانات. ال محول CSV إلى JSON يتعامل مع هدف JSON بنفس المحلل اللغوي RFC 4180، و محول CSV إلى SQL يحول نفس الصفوف إلى عبارات الإدراج. عندما تكون البيانات بتنسيق XML بالفعل وتحتاج إلى السير في الاتجاه الآخر، فإن محول XML إلى JSON و ال محول JSON إلى XML قم بتغطية كلا الاتجاهين لحدود XML-JSON، ويستخدمان نفس اصطلاحات السمات والنص التي تتبعها هذه الأداة، بحيث يمكن التنبؤ بالرحلة ذهابًا وإيابًا.

للحصول على الصورة الأوسع، دليل CSV إلى JSON يتعمق أكثر في تحليل نفس الصادرات الفوضوية دليل JSON إلى XML يشرح تعيين العناصر والسمات من جانب JSON، و خصوصية البيانات في الأدوات عبر الإنترنت تشرح المقالة سبب أهمية القيام بكل هذا في المتصفح عندما يحمل ملف CSV الأسماء وعناوين البريد الإلكتروني. مثل كل شيء على Toolz.dev، يعمل المحول بالكامل في متصفحك، وبالتالي فإن البيانات التي تقوم بتحويلها لا تترك جهازك أبدًا.

الأسئلة المتداولة

كيف يمكنني تحويل ملف CSV إلى XML؟

الصق ملف CSV في مربع الإدخال، وأكد إعدادات المحدد والرأس، وانقر فوق تحويل إلى XML. تتم قراءة الصف الأول كأسماء أعمدة، ويصبح كل صف تالي عنصر XML تتم تسمية علاماته الفرعية بأسماء تلك الأعمدة. يمكنك بعد ذلك نسخ النتيجة أو تنزيلها كملف.xml.

ماذا يحدث لصف رأس CSV؟

متى &quot؛ الصف الأول هو header&quot؛ قيد التشغيل، تصبح خلايا الرأس أسماء عناصر XML لكل صف بيانات. يتم تعقيم الأسماء إلى علامات XML صالحة، لذا &quot؛ الاسم الأول والاقتباس؛ يصبح First_Name وتتم إعادة تسمية العمود المكرر بلاحقة رقمية. إذا قمت بإيقاف تشغيل خيار الرأس، فسيتم تسمية الأعمدة column_1، column_2، وهكذا.

هل يجب أن تكون كل خلية عنصرًا أم سمة؟

يعتمد ذلك على النظام الذي يقرأ XML. يكتب وضع العنصر بنية قابلة للقراءة وقابلة للتداخل بعلامة واحدة لكل قيمة، بينما يقوم وضع السمة بطي صف إلى عنصر مضغوط واحد بسمة واحدة لكل عمود. يدعم هذا المحول كليهما، لذا اختر العنصر الذي يتوقعه المخطط أو هدف الاستيراد؛ العناصر هي الوضع الافتراضي الأكثر أمانًا عندما تكون غير متأكد.

هل يتعامل المحول مع الفواصل داخل القيمة؟

نعم. بعد RFC 4180، يتم تغليف القيمة التي تحتوي على فاصلة أو اقتباس مزدوج أو فاصل أسطر بعلامات اقتباس مزدوجة في ملف CSV، ويتم كتابة الاقتباس المضمن كقيمتين. يقرأ المحلل تلك الحقول المقتبسة كقيمة واحدة بدلاً من تقسيمها، so &quot؛ هوبر، جريس وquot؛ يبقى في عنصر واحد.

ما هي المحددات المدعومة؟

الفاصلة والفاصلة المنقوطة وعلامة التبويب والأنبوب. افتراضيًا، تكتشف الأداة المحدد تلقائيًا عن طريق اختيار المحدد الذي ينتج عددًا ثابتًا من الأعمدة عبر الصفوف العديدة الأولى، والذي يتعامل بشكل صحيح مع ملفات الفاصلة المنقوطة الأوروبية والصادرات المفصولة بعلامات تبويب. يمكنك أيضًا تحديد المحدد يدويًا.

لماذا تم تغيير بعض أسماء الأعمدة الخاصة بي في XML؟

لا يمكن أن تحتوي أسماء عناصر XML على مسافات أو معظم علامات الترقيم ولا يمكن أن تبدأ برقم أو واصلة. يستبدل المحول الأحرف غير القانونية بشرطات سفلية وبادئات، وهو اسم يبدأ برقم، وبالتالي يكون الإخراج دائمًا جيدًا. لا يتم تغيير البيانات الأصلية في كل خلية أبدًا، بل يتم تغيير أسماء العلامات فقط.

هل تم تحميل بيانات CSV الخاصة بي إلى خادم؟

لا. يتم تشغيل التحويل بالكامل في متصفحك باستخدام JavaScript. لا يتم نقل أي شيء تقوم بلصقه أو تسجيله أو تخزينه، وتستمر الأداة في العمل بدون اتصال بالشبكة بمجرد تحميل الصفحة، مما يحافظ على خصوصية الأسماء ورسائل البريد الإلكتروني والبيانات الأخرى في ملف CSV الخاص بك.

هل يمكنني تحويل XML مرة أخرى إلى CSV أو إلى JSON؟

تقوم هذه الأداة بتحويل CSV إلى XML. لإعادة تشكيل البيانات بالطريقة الأخرى، استخدم محول XML إلى JSON، واستخدم محول CSV إلى JSON عندما يكون JSON بدلاً من XML هو هدفك. تعمل جميعها من جانب العميل بنفس ضمانات الخصوصية.


Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!