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 يومًا، بدون قيود) واكتشف أنه يستحق ثمنه فعلًا.
بعض تحويلات الصيغ المدعومة حاليًا:
|
|
|
(يتضمن تجربة مجانية لمدة 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
Development teams that convert XML to CSV, JSON, and PDF on servers via ActiveX or command line
Power server-side XML-to-CSV and XML-to-JSON tools
Web developers integrate Total XML ConverterX via ActiveX into ASP or PHP applications. Users upload XML files through a browser, the server converts them to CSV, JSON, or PDF silently with no pop-up messages, and returns the result. Sample code files are included to speed up integration.
Transform XML feeds into formats other systems require
Enterprise IT teams use Total XML ConverterX to bridge systems that speak different data languages. Convert XML exports from one platform into CSV for spreadsheet-based tools, JSON for web APIs, or PDF for human review — all automated via command line with original timestamps preserved.
Batch-convert XML data feeds in scheduled pipelines
Data engineering teams add Total XML ConverterX as a conversion step in ETL workflows. Nightly XML dumps from databases, partner APIs, or IoT systems are converted to CSV for analytics platforms or JSON for data lakes. Folder structure is preserved and errors are logged silently for monitoring.
Format or minify XML documents on the server
Content platforms and publishing systems use Total XML ConverterX to format raw XML into human-readable form for editors, or minify verbose XML to reduce storage and transfer size. Process sophisticated XML structures in batch while keeping the original document hierarchy intact.
Convert XML submissions to PDF reports for auditors
Regulated industries receive or generate XML data for compliance filings. Total XML ConverterX converts these XML files to PDF reports for auditor review or to CSV for import into compliance databases — running unattended on servers with no GUI interruptions and full error logging.
يأتي 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
محدث Fri, 01 May 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، يندمج الثنائي بسلاسة في خط أنابيب خلفي مدفوع بمراقب.قم بتنزيل النسخة التجريبية المجانية وحول ملفاتك في دقائق.
لا تحتاج إلى بطاقة ائتمان أو بريد إلكتروني.