XML إلى JSON، XML، CSV، PDF عبر سطر الأوامر
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total XML Converter X هو SDK يعمل من جانب الخادم لتحويل XML إلى JSON و CSV و XLSX و PDF و HTML و SQL و DBF و Access وأكثر من 10 صيغ أخرى — مع دعم كامل لـ XSLT ودون الحاجة إلى أي مكتبات XML خارجية على الخادم. يعمل بدون واجهة رسومية: لا توجد واجهة مستخدم ولا مربعات حوار ولا نوافذ منبثقة. يأتي Total XML Converter X مع ثنائي سطر الأوامر وواجهة ActiveX/COM، لذا يمكن دمجه بسهولة في ASP و PHP و .NET و Python و Ruby و Java وأي خلفية أخرى تدعم COM. تنقسم صيغ الإخراج إلى مجموعتين:
-xslt — دون الحاجة إلى عملية من خطوتين
table (توسيع العناصر المتكررة إلى صفوف)، highlight (شجرة ملونة بالنحو للمراجعة البشرية)، report (تقرير جدولي من ملف تعريف الجداول)
-Recurse -kfs)، والدمج المجمع لعدة ملفات XML في PDF واحد (-combine -sort name)، ومعالجة ملفات قائمة الانتظار (-list) للتشغيل غير المراقب. تتيح الأعلام الملائمة للخادم -msuccess و -merror و -IgnoreInvalidSource توجيه ملف معطوب إلى مجلد الحجر الصحي دون إجهاض الدفعة بأكملها.يعالج البرنامج XML مباشرة — دون الحاجة إلى مُسلسِل XML الخاص بـ .NET، ودون تثبيت Saxon أو Xalan، ودون مفاجآت في تبعية msxml بعد تحديث Windows.
سرعة التحويل العالية والتحويلات المجمعة تجعل العملية بسيطة وغير مملة. جرّبه مجانًا (فترة تجريبية 30 يومًا، بدون قيود) واكتشف أنه يستحق ثمنه فعلًا.
بعض تحويلات الصيغ المدعومة حاليًا:
|
|
|
وكلاء LLM (Claude وChatGPT وCursor وCline) وأطر الاسترجاع (LangChain وLlamaIndex وHaystack) لا تقرأ XML الخام جيدًا — فالعلامات المتداخلة والسمات ضوضاء بالنسبة لنماذج التضمين. يكتب Total XML Converter X ملفات XML بصيغة GitHub-Flavored Markdown مع frontmatter منظَّم وملف مرافق اختياري متوافق مع Docling، فيستقر مستند XML في متجر المتجهات لديك كتمثيل نصي نظيف واعٍ بالأقسام — مع تعيين تسلسل العناصر إلى عناوين Markdown وتحويل العناصر المتكررة إلى جداول، لا كسلسلة عملاقة من أقواس الزوايا.
ما الذي تحصل عليه عند استهداف مخرجات Markdown:
#، وتصبح العناصر الأبناء ## / ### / #### حسب العمق؛ وتُعرض السمات كقائمة مفتاح-قيمة مباشرة تحت كل عنوان
table المستخدمة لـ XML-to-XLSX تعمل لـ Markdown: العناصر الأشقاء بنفس العلامة وشكل الأبناء المطابق تصبح صفوفًا في جدول واحد بأعمدة ذات أنواع مكتشفة تلقائيًا
-xslt stylesheet.xsl لإعادة تشكيل XML قبل عرض Markdown، نفس خط الأنابيب من خطوة واحدة المستخدم لباقي صيغ الإخراج
source_file, format (MIME), root_element, namespaces, element_count، والعمق، والمخطط المكتشف (عند الإشارة إلى XSD/DTD)، generator, created، وbinary_hash لإثبات المنشأ
.docling.json مرافق اختياري — JSON بمخطط Docling مع أعمدة ذات أنواع من الجداول المكتشفة تلقائيًا (بوحدات مثل EUR، pcs، %)، ومراسي لكل عنصر تعود إلى مصدر XML (XPath)، وخريطة مساحات الأسماء، ومصفوفة chunks_hint يقرأها المُقسِّم لديك
هذا هو CoolUtils RAG Adapter — عقد Markdown موحَّد مشترك بين كل منتج Total Converter X. تتوفر المواصفات الكاملة، ونماذج .md + .docling.json، ومقتطفات الدمج على صفحة Coolutils Converter X — RAG Adapter.
(يتضمن تجربة مجانية لمدة 30 يومًا)
(فقط $750.00)
string src = @"C:\test\Source.xml";
string dest = @"C:\test\Dest.json";
var cnv = new XMLConverterX();
cnv.Convert(src, dest, "-cJSON -log c:\\test\\XML.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\XMLConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.xml";
var outPath = Path.GetTempFileName() + ".json";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{srcPath} {outPath}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("sleep...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversion complete successfully.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("XMLConverter.XMLConverterX")
C.Convert "c:\source.xml", "c:\dest.json", "-cJSON -log c:\XML.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("XMLConverter.XMLConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.json"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.xml", "C:\www\ASP", "-cJSON -log c:\XML.log")
set C = nothing
$src="C:\\test\\test.xml";
$dest="C:\\test\\test.json";
if (file_exists($dest)) unlink($dest);
$c= new COM("XMLConverter.XMLConverterX");
$c->convert($src,$dest, "-cJSON -log c:\\test\\XML.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('XMLConverter.XMLConverterX')
src = "C:\\test\\test.xml"
dest = "C:\\test\\test.json"
c.convert(src, dest, "-cJSON -log c:\\test\\XML.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("XMLConverter.XMLConverterX")
src = "C:\\test\\test.xml"
dest = "C:\\test\\test.json"
c.convert(src, dest, "-cJSON -log c:\\test\\XML.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('XMLConverter.XMLConverterX');
c.Convert('c:\test\source.xml', 'c:\test\dest.json', '-cJSON -log c:\test\XML.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("XMLConverter.XMLConverterX");
c.Convert("C:\\test\\source.xml", "C:\\test\\dest.json", "-cJSON");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.xml"; my $dest = "C:\\test\\test.json"; my $c = CreateObject Win32::OLE 'XMLConverter.XMLConverterX'; $c->convert($src, $dest, "-cJSON -log c:\\test\\XML.log"); print $c->ErrorMessage if -e $dest;
"يبدو أن Total XML Converter X مثالي لاستخدامي، رغم أننا نستخدمه فقط لتحويل ملفات .xml القديمة إلى صيغ أخرى. اخترنا البرنامج لقدرته على معالجة ملفات XSLT. كان لدينا أكثر من 6,000 ملف XML وأنجز المحوّل المهمة في أقل من ساعة. شكرًا لكم!"
Jean Robitaille
Sparktown Christian School
"نحن نترجم تغذيات XML من الشركاء (الطلبات، ASN، الفواتير) إلى مخطط JSON الداخلي لدينا. Total XML Converter X مع -xslt هو المحرك: لكل شريك ورقة أنماط خاصة به، يطبّقها المحوّل أثناء التحويل، وينتقل JSON مباشرة إلى Kafka. استبدلنا حاوية Java/Saxon كانت تستهلك 2 جيجابايت من الذاكرة لنفس المهمة. ثنائي Windows يستخدم حوالي 60 ميجابايت ويعمل بضعف الإنتاجية."
Lukas R.
Senior Backend Developer at an EDI integration vendor
"يقدّم عملاؤنا ملفات امتثال XBRL/XML يجب علينا عرضها بصيغة PDF للمدققين البشريين. Total XML Converter X مع -method report وملف تعريف الجداول ينتج مخرجات PDF نظيفة ومُقسّمة إلى صفحات دون أن نكتب مُصيّرًا خاصًا بنا. توجيه قائمة الانتظار -msuccess/-merror هو بالضبط ما احتجناه لخط الأنابيب المدفوع بمراقب. خمس سنوات في الإنتاج، بدون مفاجآت."
Carmen V.
DevOps Engineer at a regulatory-reporting platform
"ضمّنا Total XML Converter X في أداة ترحيل البيانات الخاصة بنا بموجب الترخيص الخالي من الإتاوات. الرسوم لمرة واحدة لكل مشروع كانت جزءًا بسيطًا مما طلبته Altova MapForce في اشتراك لكل مطور. مُثبّتنا يوزّع ويسجّل ActiveX، وتطبيقنا يستدعيه مباشرة، ويرى المستخدمون النهائيون واجهتنا فقط. كلّفنا قيد ActiveX 32-bit بضعة أيام من إعادة هيكلة خط الأنابيب، لكن الدعم كان متجاوبًا عندما سألنا عن حلول بديلة."
Halil B.
Independent Software Vendor
"يرسل العملاء إلينا عبر البريد الإلكتروني تفريغات XML ليلية من عشرين نظام ERP مختلفًا. نستخدم Total XML Converter X لتسطيح كل شيء إلى XLSX باستخدام -detectcell -plain حتى يتمكن المحللون من إجراء جداول محورية مباشرة دون أداة ETL منفصلة. الإنتاجية حوالي 200 ملف XML في الثانية على أجهزتنا للملفات النموذجية الأقل من ميجابايت. CLI حتمي عبر التشغيلات؛ نفس المدخل، ونفس الأعلام، وبايتات متطابقة بت ببت."
Felipe O.
Lead .NET Developer at a SaaS analytics firm
فرق التطوير التي تحوّل XML إلى CSV وJSON وPDF على الخوادم عبر ActiveX أو سطر الأوامر
تشغيل أدوات تحويل XML إلى CSV وXML إلى JSON على الخادم
يدمج مطورو الويب Total XML ConverterX عبر ActiveX في تطبيقات ASP أو PHP. يرفع المستخدمون ملفات XML عبر المتصفح، ويحوّلها الخادم إلى CSV أو JSON أو PDF بصمت دون رسائل منبثقة، ويُعيد النتيجة. تُرفق ملفات كود نموذجية لتسريع التكامل.
تحويل موجزات XML إلى الصيغ التي تتطلبها الأنظمة الأخرى
تستخدم فرق تكنولوجيا المعلومات المؤسسية Total XML ConverterX لربط الأنظمة التي تتحدث بلغات بيانات مختلفة. حوّل تصديرات XML من منصة ما إلى CSV للأدوات المستندة إلى جداول البيانات، أو JSON لواجهات برمجة التطبيقات على الويب، أو PDF للمراجعة البشرية — كل ذلك آليًا عبر سطر الأوامر مع الحفاظ على الطوابع الزمنية الأصلية.
التحويل الدفعي لموجزات بيانات XML في خطوط أنابيب مجدولة
تضيف فرق هندسة البيانات Total XML ConverterX كخطوة تحويل في سير عمل ETL. تُحوَّل تفريغات XML الليلية من قواعد البيانات أو واجهات برمجة تطبيقات الشركاء أو أنظمة إنترنت الأشياء إلى CSV لمنصات التحليلات أو JSON لبحيرات البيانات. تُحفَظ بنية المجلد وتُسجَّل الأخطاء بصمت للمراقبة.
تنسيق أو ضغط مستندات XML على الخادم
تستخدم منصات المحتوى وأنظمة النشر Total XML ConverterX لتنسيق XML الخام في شكل مقروء للمحررين، أو ضغط XML المطوّل لتقليل حجم التخزين والنقل. عالج هياكل XML المعقدة دفعةً واحدة مع الحفاظ على التسلسل الهرمي الأصلي للمستند.
تحويل تقديمات XML إلى تقارير PDF للمدققين
تتلقى الصناعات الخاضعة للتنظيم أو تُولّد بيانات XML لتقديمات الامتثال. يحوّل Total XML ConverterX هذه الملفات إلى تقارير PDF لمراجعة المدققين أو إلى CSV للاستيراد في قواعد بيانات الامتثال — يعمل تلقائيًا على الخوادم دون انقطاعات في واجهة المستخدم مع تسجيل كامل للأخطاء.
يأتي Total XML Converter X مع XMLConverterX.exe، وهو ملف ثنائي يعمل من وحدة التحكم يمكنك تشغيله من السكربتات أو المهام المجدولة أو منفذي CI أو أي خدمة خلفية. يغطي الإخراج جانب البيانات (JSON وCSV وExcel وSQL وDBF وAccess) وجانب المستندات (PDF وHTML وDOC وRTF وTXT وTIFF وJPEG وPNG). تغطي الوصفات أدناه الحالات التي نسمع عنها أكثر من غيرها من عملاء SDK.
أصغر استدعاء ممكن — مصدر واحد ووجهة واحدة وصيغة هدف واحدة.
XMLConverterX.exe "C:\inbox\invoice.xml" "C:\out\invoice.pdf" -cPDF
أسرع طريقة لتغذية XML قديم في خط أنابيب JSON حديث. يطابق القناع كل XML في المجلد؛ ويحصل الإخراج على ملف JSON واحد لكل إدخال.
XMLConverterX.exe "C:\inbox\*.xml" "C:\out\" -cJSON
يستنتج -detectcell الأعمدة الرقمية والتاريخية والنصية من البيانات فتبقى الأرقام قابلة للجمع في المصنف الناتج. يُسطح -plain العناصر المتداخلة في جدول واحد عريض.
XMLConverterX.exe "C:\reports\*.xml" "C:\out\" -cExcel -detectcell -plain
تريد اللغات المحلية الأوروبية والمحللات اللغوية النهائية ومستوردات جداول البيانات فواصل مختلفة. يضبط -separator فاصل الحقل؛ ويضبط -comma حرف الاقتباس (استخدم رموز الأحرف مثل #39 للفاصلة العليا).
XMLConverterX.exe "C:\inbox\*.xml" "C:\out\" -cCSV -separator ";" -comma "\""
عندما لا يطابق XML المصدر مخطط الهدف، شغّله عبر XSLT أولاً. يطبق -xslt ورقة الأنماط على كل إدخال أثناء التشغيل — دون الحاجة إلى خط أنابيب من خطوتين.
XMLConverterX.exe "C:\inbox\*.xml" "C:\out\" -cPDF -xslt "C:\xsl\invoice-to-pdf.xsl"
يتحكم العَلَم -method في كيفية ظهور بنية XML كإخراج مرئي. table يوسع العناصر المتكررة في صفوف؛ highlight يُصيّر شجرة XML بألوان نحوية (جيد للمراجعة البشرية)؛ report يولّد تقريرًا جدوليًا بناءً على ملف تعريف جداول.
XMLConverterX.exe "C:\inbox\config.xml" "C:\out\config.pdf" -cPDF -method highlight
XMLConverterX.exe "C:\inbox\orders.xml" "C:\out\orders.xlsx" -cExcel -method report -tables "C:\schemas\orders.tbl"
لبحيرات البيانات وأرشيفات المستندات المنظمة في مجلدات فرعية. يجوب -Recurse الأدلة الفرعية؛ ويُعيد -kfs إنشاء الشجرة نفسها على جانب الإخراج بدلاً من تسطيح كل شيء في دلو واحد.
XMLConverterX.exe "C:\datalake\*.xml" "C:\out\" -cJSON -Recurse -kfs
اجمع مجلدًا من ملفات XML الصغيرة في PDF واحد متعدد الصفحات للمراجعة أو التدقيق. يحافظ -sort name على ترتيب يمكن التنبؤ به.
XMLConverterX.exe "C:\reports\*.xml" "C:\out\daily-report.pdf" -cPDF -combine -sort name
النمط الخلفي القياسي: مراقب يضع الملفات في inbox، يفرغها المحوّل، تنتقل الملفات المعالجة إلى done، والملفات التي تعذّر التعامل معها تنتقل إلى quarantine للمراجعة. يمنع -IgnoreInvalidSource ملفًا واحدًا معطوبًا من إيقاف الدفعة بأكملها.
XMLConverterX.exe "C:\inbox\*.xml" "C:\out\" -cJSON -msuccess "C:\done" -merror "C:\quarantine" -IgnoreInvalidSource -threads 0
عندما يكتب الجزء العلوي ملف قائمة انتظار ويستهلكه المحوّل، يجب ألا تكون مسارات الملفات مشفرة في سطر الأوامر. يقرأ -list أقنعة الملفات (واحد لكل سطر) من ملف نصي. تقبل الوجهة وحدات الماكرو <DATE> و<TIME> فيحصل كل تشغيل على دلوه الخاص.
XMLConverterX.exe -list "C:\queues\nightly.txt" "C:\out\<DATE>\" -cPDF -log "C:\logs\xmlcx.log" -verbosity detail -logmode append
محدث Thu, 11 Jun 2026
(فقط $750.00)
-c.new COM("XMLConverter.XMLConverterX") في PHP، و new XMLConverterX() في .NET، و win32com.client.Dispatch في Python، و WIN32OLE.new في Ruby. بدلاً من ذلك، يمكن استدعاء ثنائي سطر الأوامر XMLConverterX.exe من أي عملية أو مُجدول أو سكربت shell. كما يتوفر البث المباشر عبر ConvertToStream لاستجابات الويب في ASP/PHP.-xslt "C:\xsl\stylesheet.xsl" لتطبيق XSLT على كل ملف XML مدخل أثناء التحويل. ثم تُكتب المخرجات بالصيغة المحددة بـ -c. هذا يختصر ما كان سيكون عملية من خطوتين (معالج XSLT + محوّل) إلى استدعاء ثنائي واحد. نستخدم هذا لصيغ الفواتير، وترجمات EDI، وسير عمل تعيين المخططات.-msuccess "C:\done" ينقل الملفات المحوّلة بنجاح إلى مجلد الإنجاز، و -merror "C:\quarantine" يوجّه حالات الفشل إلى مجلد الحجر الصحي، و -IgnoreInvalidSource يمنع ملفًا معطوبًا واحدًا من إجهاض الدفعة بأكملها. مع -list لإدخال ملف قائمة الانتظار و -log -verbosity detail، يندمج الثنائي بسلاسة في خط أنابيب خلفي مدفوع بمراقب..md كصيغة إخراج فيكتب المحوّل تسلسل عناصر XML كعناوين Markdown: الجذر هو #، والعناصر الأبناء هي ##/###/#### حسب العمق، وتظهر السمات كقائمة مفتاح-قيمة تحت كل عنوان. تُكتشف العناصر الأشقاء المتكررة بنفس العلامة وشكل الأبناء المطابق تلقائيًا وتُعرض كجداول GFM بأعمدة ذات أنواع، نفس العرض المستخدم لـ XML-to-XLSX. تحمل كتلة YAML frontmatter source_file، وroot_element، وnamespaces، وelement_count، والمخطط المكتشف (عند الإشارة إلى XSD/DTD)، وتجزئة ثنائية. هذا جزء من CoolUtils RAG Adapter — نفس عقد Markdown مشترك بين كل منتج Total Converter X.binary_hash لإثبات المنشأ، ومصفوفة chunks_hint. فعّله عبر -Docling على سطر الأوامر.-xslt "C:\xsl\reshape.xsl" مع -cMD -Docling فيُطبَّق XSLT على كل ملف إدخال أثناء التحويل، ثم تُكتب النتيجة كـ Markdown. هذا يطوي ما كان سيكون خط أنابيب من خطوتين (معالج XSLT + محوّل) في استدعاء ثنائي واحد — مفيد لترجمات EDI وصيغ الفواتير وسير عمل تعيين المخططات التي تحتاج للوصول إلى فهرس RAG بشكل موحَّد محدَّد..md هو GFM عادي مع كتلة YAML frontmatter، لذا تقرأه مباشرة UnstructuredMarkdownLoader في LangChain، وMarkdownReader في LlamaIndex، وMarkdownToDocument في Haystack، وأدوات ملفات MCP في Claude Code. لأن XPath العناصر مسجَّل في الملف المرافق، يستطيع الاقتباس في إجابة النموذج الحل إلى عنصر المصدر الدقيق. بالنسبة لـ Claude أو ChatGPT أو أي واجهة محادثة، يمكنك لصق Markdown في السياق كما هو.قم بتنزيل النسخة التجريبية المجانية وحول ملفاتك في دقائق.
لا تحتاج إلى بطاقة ائتمان أو بريد إلكتروني.