تحويل XML إلى نص عبر الإنترنت مجانًا

حوّل ملفات XML إلى نص أونلاين مجانًا. ارفع الملف واحصل فورًا على نتيجة نظيفة وجاهزة لـ LLM. بلا تسجيل، حتى 50 ميجابايت، ولا نحتفظ بالملف.

تحويل XML إلى نص: إخراج المحتوى من بين الأقواس الزاويّة

هناك نوع معيّن من الملفات يظهر لك حين تبني مجموعة نصوص: تصدير XML لشيء مثير للاهتمام فعلًا — ملخّصات أوراق علمية، محاضر جلسات محاكم، أرشيف مُرقمَن، عشر سنوات من تدوينات مدونة — والنثر الذي تريده مدفون تحت مخطط بيانات صمّمه أحدهم عام 2006. الكلمات موجودة هناك، لكنها ملفوفة في ثلاث طبقات من الوسوم تحمل بادئات نطاقات أسماء.

هذه الصفحة تنتزع ذلك المحتوى وتعطيك النص وحده لا غير. لا عناوين، ولا جداول، ولا ترميز من أي نوع. هذا ما تريده حين تكون الوجهة نموذج تضمينات، أو فهرس بحث، أو سكربت معالجة لغة طبيعية، أو أي مسار معالجة يعامل علامات الترقيم بوصفها ضجيجًا. ارفع ملف .xml أعلاه — مجانًا، بلا تسجيل، بحد أقصى 50 MB، ولا يُخزَّن شيء.

ما الذي يخرج من الطرف الآخر

الاستخراج أكثر من مجرد حذف كل ما يقع بين < و>. هناك أمور عدة يجب التعامل معها بشكل صحيح وإلا خرج الناتج خاطئًا بصورة خفية:

  • مراجع الكيانات تُفكّ شفرتها. لا يمكن لـ XML أن يحوي علامة & مجرّدة، لذا تمتلئ المستندات الحقيقية بـ &amp; و&lt; و&quot; وصيغ رقمية مثل &#8217; للفاصلة العليا المعقوفة. إن تُركت دون فكّ، أفسدت عدّ الكلمات وأفشلت مطابقات البحث. هنا تعود على هيئة المحارف التي تمثّلها.
  • مقاطع CDATA تُفَكّ من غلافها. <![CDATA[ ... ]]> هي طريقة XML لتهريب محتوى يتضمن ترميزًا — HTML داخل وصف RSS، أو مقتطف SQL، أو كتلة JavaScript. الغلاف يذهب والمحتوى يبقى.
  • العُقد النصية المكوّنة من مسافات فقط تُحذف. ملف XML المنسّق للقراءة يحوي عقدة نصية بين كل زوج وسوم لا تحمل سوى سطر جديد وبعض المسافات. أبقِها وسيكون 60% من ناتجك أسطرًا فارغة.
  • أسماء العناصر تختفي تمامًا. بخلاف نسخة Markdown، لا تُبقى أسماء الوسوم هنا كتسميات. تحصل على القيم لا على مخطط البيانات.
  • التعليقات وإعلان XML وتعريفات DTD وتعليمات المعالجة تذهب كلها. لا شيء منها محتوى.

علّة التصاق الكلمات، ولماذا تهمّك

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

<p>See the <ref>appendix</ref> for details</p>

انزع الوسوم بلا عناية وقد ينتهي بك الأمر إلى «See theappendixfor details»، لأن الوسم الذي حذفته كان يقوم مقام حدود الكلمة. أو اذهب في الاتجاه المعاكس وأدرج سطرًا جديدًا عند كل وسم فتحصل على جملة مقطّعة إلى ثلاث شظايا على ثلاثة أسطر. لا هذا صالح ولا ذاك: الأول يكسر التقطيع إلى وحدات، والثاني يكسر تجزئة الجُمَل، وكلاهما يُفسد بصمت كل ما يأتي بعده في المسار مفترضًا أنه يقرأ نثرًا.

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

مشكلة ملفات الإعدادات

والآن التحفّظ الصريح، لأنه سيوفّر عليك خمس دقائق من الحيرة. يخزّن XML البيانات في موضعين: بين الوسوم، وفي السمات داخلها. استخراج النص، بحكم تعريفه، يلتقط النوع الأول. وبعض ملفات XML الشائعة جدًا لا تكاد تحوي منه شيئًا.

ملفات manifest في Android، وapp.config في ‎.NET، وملفات بناء Ant، وتعريفات Spring beans، وكثير من ملفات SVG — كلها تضع كل شيء تقريبًا في السمات. مرّر أحدها عبر مستخرج نصوص وستعود إليك حفنة كلمات شاردة، أو ملف فارغ، ويبدو الأمر وكأن الأداة فشلت. لم تفشل؛ لم يكن هناك نص عناصر لتجده أصلًا.

لتلك الملفات، استخدم محوِّل XML إلى Markdown بدلًا من ذلك، فهو يُبقي السمات ملتصقة بالعناصر التي تصفها. مبدّل الصيغة أعلى هذه الصفحة ينقلك إليه ويحمل ملفك معه، فهي نقرة واحدة لا رفع جديد. القاعدة العملية: النثر يسكن العناصر، والإعدادات تسكن السمات. استخراج النص للنوع الأول.

حيث يكون النص المسطّح هو الخيار الصائب بوضوح

XML هو الصيغة الأصلية لكمّ هائل من النصوص المُعتنى بها، لأن المؤسسات اعتمدته معيارًا قبل أن يوجد JSON أصلًا. هذا الإرث هو حيث يستحق هذا المحوِّل مكانه:

  • بناء مجموعات النصوص. تفريغات ملخّصات أكاديمية، ونصوص أدبية مرمّزة بمعيار TEI، وسجلات برلمانية وقانونية، وفهارس متاحف ومكتبات. كلها نثر ثري، وكلها ملفوفة في مخططات ثقيلة. أنت تريد النثر.
  • التضمينات والبحث المتجهي. ولّد متجهًا لمقطع XML خام وسيصف جزء حقيقي من المتجه الناتج الترميزَ لا المعنى — مستندان في موضوعين لا صلة بينهما قد يتجاوران لمجرد أنهما يتشاركان مخطط بيانات. نزع الوسوم يعطيك تضمينات عن المحتوى.
  • التقطيع. المقطّعات ثابتة الحجم تشقّ XML الخام في منتصف عنصر وتنتج شظايا بوسوم يتيمة. النص المسطّح ينقسم عند حدود الجُمَل والفقرات، وهو ما صُمّم المقطِّع له أصلًا.
  • فهرسة البحث وتحليل النصوص. تكرارات المصطلحات، وتقدير المشاعر، ونمذجة المواضيع، واستخراج الكيانات — كلها تنحرف بسبب رموز بنيوية تتكرر في كل سجل.
  • اقتصاد الـ tokens. إسهاب XML استثنائي حتى بين الصيغ المهيكلة، إذ يُكتب اسم كل عنصر مرتين. نزع الوسوم من تصدير عميق التداخل يحذف كمًّا كبيرًا من tokens لم تكن تحمل معلومة قط. العدّاد أسفل الناتج يريك المقدار بالضبط.

متى يكون النزع خطوة خاطئة

النماذج تتعامل مع XML الخام بلا صعوبة — فهو مُسهب لكنه قاطع الدلالة، وحضوره في بيانات التدريب وافر. التحويل قرار تتخذه لسبب، لا قاعدة تُطبَّق دائمًا.

  • كتابة شيفرة تتعامل مع المستند. استعلامات XPath، أو ورقة أنماط XSLT، أو مُحلل SAX أو DOM، أو مخطط تحقق. كلها تحتاج أسماء العناصر الدقيقة وبادئات نطاقات الأسماء والتمييز بين السمة والعنصر. واستخراج النص يحذف هذه بالذات. الصق مقتطفًا من الملف الحقيقي.
  • حين تكون البنية الهرمية هي الجواب. إذا كان السؤال تحت أي أبٍ يقع الشيء — لأي بيئة ينتمي الإعداد، وفي أي قسم يقع البند — فالتسطيح يدمّر ذلك. تلك مهمة Markdown.
  • المستندات الغزيرة السمات، كما مرّ أعلاه.

أسئلة شائعة

كيف أحوّل ملف XML إلى نص؟

أفلِت ملف .xml في المحوِّل أعلاه وسيعود المحتوى الواقع بين الوسوم نثرًا عاديًا — لا أقواس زاويّة، ولا بادئات نطاقات أسماء، ولا سمات. نزّله بصيغة .txt. مجانًا، بلا تسجيل، بحد 50 MB للملف، ولا يُحتفظ بشيء.

هل يفكّ شفرة كيانات مثل &amp; و&lt;؟

نعم، والأمر أهم مما يبدو. لا يمكن لـ XML أن يحوي علامة & مجرّدة، لذا تكتظّ المستندات الواقعية بـ &amp; و&lt; و&quot; ومراجع المحارف الرقمية. التعبير النمطي الساذج لنزع الوسوم يترك كل هذه جاثمة حرفيًا في الناتج. التحليل السليم يعيدها إلى المحارف التي تمثّلها.

لماذا لا أكتفي بحذف كل ما بين الأقواس الزاويّة بتعبير نمطي؟

لأن مقاطع CDATA وقيم السمات كليهما يحويان محارف تشبه الترميز وليست ترميزًا. التعبير النمطي سيلتهم بكل سرور محتوى كتلة <![CDATA[...]]> تحوي HTML مضمّنًا، ولا سبيل له إلى التفريق بين وسم حقيقي وعلامة < واردة داخل نص سمة بين علامتي اقتباس. التحليل يصيب في هذه الحالات؛ ومطابقة الأنماط تخطئ فيها بصمت.

هل تمرّ قيم السمات إلى الناتج؟

ما تحصل عليه هو نص العناصر؛ فالسمات بيانات وصفية عن العنصر لا محتوى له. وهذا صحيح في العادة — أنت تريد الملخّص لا رقم إصدار المخطط. أما حيث يعضّك الأمر فهو الصيغ التي تخزّن محتوى حقيقيًا في السمات، فإن بدا ناتجك هزيلًا، افتح المصدر وتحقق مما إذا كانت الكلمات التي أردتها تسكن داخل <tag attr="...">.

هل يعمل هذا على خلاصات RSS وملفات sitemap؟

نعم — كلاهما XML وكلاهما يتحوّل. خلاصة RSS تعطيك العناوين والأوصاف والتواريخ نصًا مقروءًا، وهي طريقة سريعة لبناء مجموعة نصوص من أرشيف مدونة. أما ملف sitemap فيعطيك قائمة عناوين URL، وهي أنفع مُمرَّرة إلى أداة أخرى من أن تُقرأ نثرًا.

أدوات ذات صلة

ملاحظة عن XML الذي تقابله بشكل غير مباشر: ملفات .docx و.epub هي في جوهرها XML مضغوط. يمكنك فكّ أحدها وتغذية الترميز الداخلي هنا، لكن لا تفعل — فهو مشبع بمقاطع التنسيق وبيانات تتبّع المراجعات التي تُغرق النص. استخدم تحويل Word إلى نص أو تحويل EPUB إلى نص، فهما يعرفان أي الأجزاء محتوى. وللترميز الذي هو HTML لا XML، هناك تحويل HTML إلى نص، وللصيغة المهيكلة الكبيرة الأخرى، تحويل JSON إلى نص. File2Txt يقبل كل صيغة مدعومة إن كنت لا تريد اختيار صفحة بعينها.

وحين يكون XML قابعًا داخل مستودع — ملف POM، أو واصف بناء، أو بيانات اختبار ثابتة — فإن تحويله وحده يجرّده من سياقه. يتيح لك محوِّل GitHub إلى نص، و محوِّل GitLab، و محوِّل المجلدات المحلية سحب ملف XML والشيفرة التي تقرؤه في ناتج واحد، وهو الأنفع في كل الأحوال تقريبًا. أما دليل تجهيز الملفات لنماذج اللغة الكبيرة فيغطي الحالة العامة.

Repo2Txt من بناء وصيانة v12hero، مطوّر مستقل يبني تطبيقات أصلية وويب تضع الخصوصية أولًا.