XML в JSON, XML, CSV, PDF через командную строку
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Если вы ищете конвертер XML через командную строку, дальше искать не нужно. Total XML ConverterX поможет вам отформатировать ваши XML файлы или облегчить обмен данными между системами. С почти 10-летним опытом во всех видах конвертеров, CoolUtils гарантирует качество продукта. Загрузите бесплатную пробную версию сейчас и протестируйте ее в течение 30 дней.
(включает 30-дневный бесплатный пробный период)
(только $750.00)
string src="C:\\test\\Source.XML";
string dest="C:\\test\\Dest.PDF";
XMLConverterX Cnv = new XMLConverterX();
Cnv.Convert(src, dest, "-c PDF -log c:\\test\\XML.log");
MessageBox.Show("Конвертация завершена!");
dim C
Set C=CreateObject("XMLConverter.XMLConverterX")
C.Convert "c:\source.XML", "c:\dest.JSON", "-cJSON -log c:\XML.log"
set C = nothing
dim C
Set C=CreateObject("XMLConverter.XMLConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Rresponse.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.XML";
$dest="C:\test.XLS";
if (file_exists($dest)) unlink($dest);
$c= new COM("PDFConverter.PDFConverterX");
$c->convert($src,$dest, "-c XLS -log c:\pdf.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.pdf";
c.convert(src,dest, "-c PDF -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.pdf";
c.convert(src, dest, "-c PDF -log c:\\test\\XML.log");
if not os.path.exists(file_path):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c:=CreateOleObject('XMLConverter.XMLConverterX');
C.Convert('c:\test\source.XML', 'c:\test\dest.pdf', '-cPDF -log c:\test\XML.log');
IF c.ErrorMessage<> Then
ShowMessage(c.ErrorMessage);
end;
$src="C:\test.XML";
$dest="C:\test.XLS";
if (file_exists($dest)) unlink($dest);
$c= new COM("PDFConverter.PDFConverterX");
$c->convert($src,$dest, "-c XLS -log c:\pdf.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
use Win32::OLE; my $src="C:\\test\\test.XML"; my $dest="C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'XMLConverter.XMLConverterX'; $c->convert($src,$dest, "-c pdf -log c:\\test\\XML.log"); print $c->ErrorMessage if -e $dest;
#includestatic const CLSID CLSID_XMLConverterX = {0x6B411E7E, 0x9503,0x4793,{0xA2, 0x87, 0x1F, 0x3B, 0xA8, 0x78, 0xB9, 0x1C}}; static const IID IID_IXMLConverterX = {0xEF633BED, 0xC414,0x49B0,{0x91, 0xFB, 0xC3, 0x9C, 0x3F, 0xE0, 0x08, 0x0D}}; #undef INTERFACE #define INTERFACE IXMLConverterX DECLARE_INTERFACE_(IXMLConverterX, IDispatch) { STDMETHOD(QueryInterface)(THIS_ REFIID, PVOID*) PURE; STDMETHOD(Convert)(THIS_ LPCTSTR, LPCTSTR, LPCTSTR) PURE; STDMETHOD(About)(THIS) PURE; //const SourceFile: WideString; const DestFile: WideString; const Params: WideString; safecall; }; typedef HRESULT (__stdcall *hDllGetClassObjectFunc) (REFCLSID, REFIID, void **); int main () { HRESULT hr; if (CoInitialize(NULL)) { printf ("Ошибка в CoInitialize."); return -1; } LPCTSTR lpFileName = "XMLConverter.dll"; HMODULE hModule; hModule = LoadLibrary (lpFileName); printf ("hModule: %d\n", hModule); if (hModule == 0) { printf ("Ошибка в LoadLibrary."); return -1; } hDllGetClassObjectFunc hDllGetClassObject = NULL; hDllGetClassObject = (hDllGetClassObjectFunc) GetProcAddress (hModule, "DllGetClassObject"); if (hDllGetClassObject == 0) { printf ("Ошибка в GetProcAddress."); return -1; } IClassFactory *pCF = NULL; hr = hDllGetClassObject (&CLSID_XMLConverterX, &IID_IClassFactory, (void **)&pCF); /* Unable to load with different ID */ printf ("hr hDllGetClassObject: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в hDllGetClassObject."); return -1; } IXMLConverterX *pIN; hr = pCF->lpVtbl->CreateInstance (pCF, 0, &IID_IXMLConverterX, (void **)&pIN); printf ("hr CreateInstance: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в hDllGetClassObject."); return -1; } hr = pCF->lpVtbl->Release (pCF); printf ("hr Release: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в Release."); return -1; } hr = pIN->lpVtbl->About (pIN); printf ("hr About: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в About."); return -1; } hr = pIN->lpVtbl->Convert (pIN, "test.pdf", "test.html","-cHTML"); printf ("hr Convert: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в Convert."); return -1; } return 0; }
"Total XML ConverterX кажется идеально подходящим для моего использования, хотя мы используем его только для преобразования старых .xml файлов в другие форматы."
"Мы выбрали программу за возможность обработки XSLT файлов. У нас было более 6000 XML и конвертер справился с задачей меньше чем за час! Благодарим вас!"
Жан Робитайль | Школа Спарктаун Христианская
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)
Скачайте пробную версию и конвертируйте файлы за считанные минуты.
Не требуется ни банковская карта, ни email.