XML zu JSON, XML, CSV, PDF über die Befehlszeile
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total XML Converter X ist ein serverseitiges SDK, das XML in JSON, CSV, XLSX, PDF, HTML, SQL, DBF, Access und mehr als 10 weitere Formate konvertiert — mit vollständiger XSLT-Unterstützung und ohne externe XML-Bibliotheken auf dem Server. Es läuft im Headless-Modus: keine GUI, keine Dialoge, keine Popups. Total XML Converter X wird sowohl mit einer Kommandozeilen-Binärdatei als auch mit einer ActiveX/COM-Schnittstelle ausgeliefert und lässt sich somit in ASP, PHP, .NET, Python, Ruby, Java und jedes andere COM-fähige Backend einbinden. Die Ausgabeformate teilen sich in zwei Gruppen auf:
-xslt auf jede Eingabe an — keine zweistufige Pipeline nötig
table (wiederholte Elemente in Zeilen ausklappen), highlight (syntaxgefärbter Baum zur menschlichen Prüfung), report (tabellarischer Bericht aus einer Tabellendefinitionsdatei)
-Recurse -kfs), das Stapelzusammenführen mehrerer XMLs in einer PDF (-combine -sort name) sowie die Verarbeitung von Warteschlangendateien (-list) für unbeaufsichtigte Läufe. Serverfreundliche Flags -msuccess, -merror und -IgnoreInvalidSource erlauben es, eine einzelne defekte Datei in einen Quarantäneordner umzuleiten, ohne den ganzen Stapel abzubrechen.Das Programm verarbeitet XML direkt — kein .NET-XML-Serialisierer erforderlich, keine Saxon- oder Xalan-Installation, keine bösen msxml-Überraschungen nach einem Windows-Update.
Hohe Konvertierungsgeschwindigkeit und Stapelverarbeitung sorgen für einen einfachen und ermüdungsfreien Ablauf. Testen Sie es kostenlos (30 Tage Testzeitraum, ohne Einschränkungen) und überzeugen Sie sich, dass es sein Geld wert ist.
Einige der derzeit unterstützten Dateiformat-Konvertierungen:
|
|
|
LLM-Agenten (Claude, ChatGPT, Cursor, Cline) und Retrieval-Frameworks (LangChain, LlamaIndex, Haystack) lesen rohes XML nur schlecht — verschachtelte Tags und Attribute sind Rauschen für Embedding-Modelle. Total XML Converter X schreibt XML als GitHub-Flavored Markdown mit strukturiertem Frontmatter und optionalem Docling-kompatiblem Sidecar, sodass ein XML-Dokument als saubere abschnittsbewusste Textdarstellung in Ihrem Vektorspeicher landet — mit der Element-Hierarchie, die auf Markdown-Überschriften abgebildet wird, und wiederholten Elementen, die in Tabellen umgewandelt werden, nicht als eine einzige riesige Zeichenkette aus spitzen Klammern.
Was Sie erhalten, wenn Sie Markdown als Ausgabe wählen:
#, Kindelemente werden je nach Tiefe zu ## / ### / ####; Attribute werden direkt unter jeder Überschrift als Schlüssel-Wert-Liste gerendert
table-Renderingmethode, die für XML-nach-XLSX verwendet wird, greift auch für Markdown: gleichnamige Geschwisterelemente mit identischer Kindform werden zu Zeilen in einer Tabelle mit automatisch erkannten typisierten Spalten
-xslt stylesheet.xsl an, um das XML vor dem Markdown-Rendering umzuformen, dieselbe einstufige Pipeline, die auch für die anderen Ausgabeformate verwendet wird
source_file, format (MIME), root_element, namespaces, element_count, Tiefe, erkanntes Schema (wenn XSD/DTD referenziert wird), generator, created sowie ein binary_hash zur Provenienznachweis
.docling.json-Sidecar — JSON im Docling-Schema mit typisierten Spalten aus automatisch erkannten Tabellen (mit Einheiten wie EUR, pcs, %), Ankern pro Element zurück in das Quell-XML (XPath), Namespace-Karte und einem chunks_hint-Array, das Ihr Splitter auslesen kann
Das ist der CoolUtils RAG Adapter — ein einheitlicher Markdown-Kontrakt, den jedes Total Converter X-Produkt gemeinsam nutzt. Die vollständige Spezifikation, Beispiele für .md + .docling.json und Integrations-Snippets finden Sie auf der Seite Coolutils Converter X — RAG Adapter.
(enthält 30 Tage KOSTENLOSE Testversion)
(nur $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 scheint perfekt für meine Zwecke zu sein, auch wenn wir ihn nur einsetzen, um alte .xml-Dateien in andere Formate zu konvertieren. Wir haben uns wegen der Fähigkeit, XSLT-Dateien zu verarbeiten, für das Programm entschieden. Wir hatten über 6.000 XMLs, und der Konverter hat die Arbeit in weniger als einer Stunde erledigt. Vielen Dank!"
Jean Robitaille
Sparktown Christian School
"Wir übersetzen XML-Feeds unserer Partner (Aufträge, ASN, Rechnungen) in unser internes JSON-Schema. Total XML Converter X mit -xslt ist die Engine: jeder Partner hat sein eigenes Stylesheet, der Konverter wendet es on the fly an, und die JSON landen direkt in Kafka. Wir haben einen Java-/Saxon-Container ersetzt, der für dieselbe Aufgabe 2 GB RAM verschlungen hat. Die Windows-Binärdatei verbraucht rund 60 MB und läuft mit doppeltem Durchsatz."
Lukas R.
Senior Backend Developer at an EDI integration vendor
"Unsere Kunden reichen XBRL-/XML-Compliance-Meldungen ein, die wir für menschliche Prüfer als PDF rendern müssen. Total XML Converter X mit -method report und einer Tabellendefinitionsdatei erzeugt saubere, paginierte PDF-Ausgaben, ohne dass wir einen eigenen Renderer schreiben müssen. Das Queue-Routing über -msuccess/-merror ist genau das, was wir für die watcher-getriebene Pipeline brauchten. Fünf Jahre im Produktivbetrieb, keine Überraschungen."
Carmen V.
DevOps Engineer at a regulatory-reporting platform
"Wir haben Total XML Converter X im Rahmen der Royalty-Free-Lizenz in unser Datenmigrationstool eingebettet. Die einmalige Gebühr pro Projekt war ein Bruchteil dessen, was Altova MapForce als Abonnement pro Entwickler verlangt hat. Unser Installer liefert das ActiveX mit aus und registriert es, unsere App ruft es direkt auf, und Endanwender sehen nur unsere UI. Die 32-Bit-Beschränkung des ActiveX hat uns ein paar Tage Pipeline-Umbau gekostet, aber der Support hat schnell reagiert, als wir nach Workarounds gefragt haben."
Halil B.
Independent Software Vendor
"Kunden mailen uns nächtlich XML-Dumps aus zwanzig verschiedenen ERP-Systemen. Wir verwenden Total XML Converter X, um alles mit -detectcell -plain in XLSX zu plätten, sodass die Analysten direkt pivotieren können, ohne ein separates ETL-Tool. Der Durchsatz liegt auf unserer Hardware bei rund 200 XMLs pro Sekunde für typische Dateien unter 1 MB. Die CLI ist über alle Läufe hinweg deterministisch: gleiche Eingabe, gleiche Flags, bitidentische Bytes."
Felipe O.
Lead .NET Developer at a SaaS analytics firm
Entwicklungsteams, die XML auf Servern über ActiveX oder Befehlszeile in CSV, JSON und PDF umwandeln
Serverseitige XML-in-CSV- und XML-in-JSON-Tools betreiben
Webentwickler integrieren Total XML ConverterX über ActiveX in ASP- oder PHP-Anwendungen. Benutzer laden XML-Dateien über einen Browser hoch, der Server konvertiert sie lautlos ohne Pop-up-Meldungen in CSV, JSON oder PDF und gibt das Ergebnis zurück. Beispiel-Code-Dateien sind zur Beschleunigung der Integration enthalten.
XML-Feeds in Formate transformieren, die andere Systeme benötigen
Unternehmens-IT-Teams nutzen Total XML ConverterX, um Systeme zu verbinden, die unterschiedliche Datensprachen sprechen. Konvertieren Sie XML-Exporte einer Plattform in CSV für tabellenbasierte Tools, JSON für Web-APIs oder PDF für menschliche Prüfung – alles automatisiert über die Befehlszeile mit erhaltenen Original-Zeitstempeln.
XML-Daten-Feeds in geplanten Pipelines stapelweise konvertieren
Data-Engineering-Teams fügen Total XML ConverterX als Konvertierungsschritt in ETL-Workflows ein. Nächtliche XML-Dumps aus Datenbanken, Partner-APIs oder IoT-Systemen werden in CSV für Analyse-Plattformen oder JSON für Data Lakes konvertiert. Die Ordnerstruktur bleibt erhalten, und Fehler werden lautlos für die Überwachung protokolliert.
XML-Dokumente auf dem Server formatieren oder minimieren
Content-Plattformen und Publishing-Systeme nutzen Total XML ConverterX, um rohes XML für Redakteure in menschenlesbares Format zu konvertieren oder ausführliches XML zur Reduzierung von Speicher- und Übertragungsgröße zu minimieren. Verarbeiten Sie komplexe XML-Strukturen stapelweise unter Beibehaltung der ursprünglichen Dokumenthierarchie.
XML-Einreichungen für Prüfer in PDF-Berichte umwandeln
Regulierte Branchen empfangen oder generieren XML-Daten für Compliance-Einreichungen. Total XML ConverterX konvertiert diese XML-Dateien in PDF-Berichte für die Prüferprüfung oder in CSV für den Import in Compliance-Datenbanken – läuft unbeaufsichtigt auf Servern ohne GUI-Unterbrechungen und mit vollständiger Fehlerprotokollierung.
Total XML Converter X wird mit XMLConverterX.exe ausgeliefert, einer Konsolenanwendung, die Sie aus Skripten, geplanten Aufgaben, CI-Runnern oder jedem Backend-Dienst heraus ansteuern können. Die Ausgabe deckt die Datenseite (JSON, CSV, Excel, SQL, DBF, Access) und die Dokumentenseite (PDF, HTML, DOC, RTF, TXT, TIFF, JPEG, PNG) ab. Die folgenden Rezepte decken die Fälle ab, nach denen SDK-Kunden am häufigsten fragen.
Der kleinstmögliche Aufruf — eine Quelle, eine Ausgabe, ein Zielformat.
XMLConverterX.exe "C:\inbox\invoice.xml" "C:\out\invoice.pdf" -cPDF
Der schnellste Weg, Legacy-XML in eine moderne JSON-Pipeline einzuspeisen. Die Maske trifft jede XML im Ordner; die Ausgabe ergibt eine JSON-Datei pro Eingabe.
XMLConverterX.exe "C:\inbox\*.xml" "C:\out\" -cJSON
-detectcell erschließt numerische, Datum- und Textspalten aus den Daten, sodass Zahlen in der resultierenden Arbeitsmappe summierbar bleiben. -plain flacht verschachtelte Elemente in eine breite Tabelle ab.
XMLConverterX.exe "C:\reports\*.xml" "C:\out\" -cExcel -detectcell -plain
Europäische Locales, nachgelagerte Parser und Tabellenkalkulations-Importe wollen alle unterschiedliche Trenner. -separator setzt das Feldtrennzeichen; -comma setzt das Anführungszeichen (verwenden Sie Zeichencodes wie #39 für ein Apostroph).
XMLConverterX.exe "C:\inbox\*.xml" "C:\out\" -cCSV -separator ";" -comma "\""
Wenn die Quell-XML nicht zum Zielschema passt, schicken Sie sie zuerst durch ein XSLT. -xslt wendet das Stylesheet im Vorbeigehen auf jede Eingabe an — keine zweistufige Pipeline nötig.
XMLConverterX.exe "C:\inbox\*.xml" "C:\out\" -cPDF -xslt "C:\xsl\invoice-to-pdf.xsl"
Das Flag -method steuert, wie die XML-Struktur in sichtbarer Ausgabe wird. table expandiert wiederholte Elemente in Zeilen; highlight rendert den XML-Baum mit Syntax-Färbung (gut für menschliche Prüfung); report erzeugt einen tabellarischen Bericht basierend auf einer Tabellen-Definitionsdatei.
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"
Für Data Lakes und Dokumentenarchive, die in Unterordnern organisiert sind. -Recurse durchläuft Unterverzeichnisse; -kfs erzeugt denselben Baum auf der Ausgabeseite, statt alles in einen einzigen Topf zu kippen.
XMLConverterX.exe "C:\datalake\*.xml" "C:\out\" -cJSON -Recurse -kfs
Rollen Sie einen Ordner kleiner XMLs zu einem mehrseitigen PDF zur Prüfung oder zum Audit zusammen. -sort name hält die Reihenfolge vorhersagbar.
XMLConverterX.exe "C:\reports\*.xml" "C:\out\daily-report.pdf" -cPDF -combine -sort name
Das Standard-Backend-Muster: ein Watcher legt Dateien in inbox ab, der Konverter leert ihn, verarbeitete Dateien landen in done, nicht verarbeitbare Dateien wandern zur Prüfung in quarantine. -IgnoreInvalidSource verhindert, dass eine einzelne fehlerhafte Datei den ganzen Batch abbricht.
XMLConverterX.exe "C:\inbox\*.xml" "C:\out\" -cJSON -msuccess "C:\done" -merror "C:\quarantine" -IgnoreInvalidSource -threads 0
Wenn vorgelagerte Komponenten eine Queue-Datei schreiben und der Konverter sie konsumiert, sollten die Dateipfade nicht in die Befehlszeile codiert sein. -list liest Dateimasken (eine pro Zeile) aus einer Textdatei. Das Ziel akzeptiert <DATE>- und <TIME>-Makros, sodass jeder Lauf seinen eigenen Topf bekommt.
XMLConverterX.exe -list "C:\queues\nightly.txt" "C:\out\<DATE>\" -cPDF -log "C:\logs\xmlcx.log" -verbosity detail -logmode append
Aktualisiert Fri, 01 May 2026
(nur $750.00)
-c jedes dieser Formate erzeugen.new COM("XMLConverter.XMLConverterX") in PHP, new XMLConverterX() in .NET, win32com.client.Dispatch in Python, WIN32OLE.new in Ruby. Alternativ lässt sich die Kommandozeilen-Binärdatei XMLConverterX.exe aus jedem Prozess, Scheduler oder Shell-Skript heraus aufrufen. Direktes Streaming über ConvertToStream ist ebenfalls möglich, etwa für ASP-/PHP-Webantworten.-xslt "C:\xsl\stylesheet.xsl" wenden Sie ein XSLT on the fly auf jede Eingabe-XML an. Die Ausgabe wird anschließend in dem mit -c gewählten Format geschrieben. Damit wird eine sonst zweistufige Pipeline (XSLT-Prozessor + Konverter) zu einem einzigen Binäraufruf reduziert. Wir nutzen das für Rechnungsformate, EDI-Übersetzungen und Schema-Mapping-Workflows.-msuccess "C:\done" verschiebt erfolgreich konvertierte Dateien in einen Erledigt-Ordner, -merror "C:\quarantine" leitet fehlgeschlagene Dateien in einen Quarantäneordner um und -IgnoreInvalidSource verhindert, dass eine einzige defekte Datei den gesamten Stapel abbricht. Zusammen mit der Warteschlangendatei-Eingabe -list und -log -verbosity detail fügt sich die Binärdatei sauber in eine watcher-getriebene Backend-Pipeline ein..md als Ausgabeformat und der Konverter schreibt die Element-Hierarchie der XML als Markdown-Überschriften: Das Root wird zu #, Kindelemente werden je nach Tiefe zu ##/###/####, Attribute erscheinen unter jeder Überschrift als Schlüssel-Wert-Liste. Wiederholte Geschwisterelemente mit demselben Tag und identischer Kindform werden automatisch erkannt und als GFM-Tabellen mit typisierten Spalten gerendert, dasselbe Rendering, das für XML-nach-XLSX verwendet wird. Ein YAML-Frontmatter-Block enthält source_file, root_element, namespaces, element_count, erkanntes Schema (wenn XSD/DTD referenziert wird) und einen Binär-Hash. Das ist Teil des CoolUtils RAG Adapter — derselbe Markdown-Kontrakt wird von jedem Total Converter X-Produkt gemeinsam genutzt.binary_hash zur Provenienznachweis und ein chunks_hint-Array. Aktivieren mit -Docling auf der Befehlszeile.-xslt "C:\xsl\reshape.xsl" zusammen mit -cMD -Docling, und das XSLT wird on the fly auf jede Eingabe angewendet, anschließend wird das Ergebnis als Markdown geschrieben. Damit wird eine sonst zweistufige Pipeline (XSLT-Prozessor + Konverter) zu einem einzigen Binäraufruf reduziert — nützlich für EDI-Übersetzungen, Rechnungsformate und Schema-Mapping-Workflows, die in einer bestimmten normalisierten Form in einem RAG-Index landen müssen..md-Datei ist reines GFM mit einem YAML-Frontmatter-Block, sodass LangChains UnstructuredMarkdownLoader, LlamaIndex' MarkdownReader, Haystacks MarkdownToDocument und Claude Codes MCP-Datei-Tools sie direkt lesen. Da Element-XPaths im Sidecar aufgezeichnet werden, kann ein Zitat in der Antwort des Modells zurück auf das genaue Quellelement aufgelöst werden. Bei Claude, ChatGPT oder jeder anderen Chat-Oberfläche können Sie das Markdown unverändert in den Kontext einfügen.Laden Sie die Testversion herunter und konvertieren Sie Ihre Dateien in wenigen Minuten.
Keine Kreditkarte oder Email erforderlich.