XML in JSON konvertieren Online
Konvertiere XML zu JSON in deinem Browser. Ideal für SOAP-zu-REST-Migration, RSS/Atom-Feed-Parsing oder Legacy-XML-Verarbeitung.
// Invalid XML: DOMParser is not defined
Wofür du es nutzen kannst
XML zu JSON: deinen Daten-Stack modernisieren
SOAP-zu-REST-Migration
Konvertiere SOAP-Webservice-Antworten (XML) zu JSON, um sie mit modernen REST-APIs und JavaScript-Clients zu integrieren.
RSS- und Atom-Feeds
Parse RSS-2.0- und Atom-1.0-Feeds zu JSON für die Verarbeitung mit JavaScript, Speicherung in MongoDB oder Anzeige in Web-Apps.
100 % privat
Dein XML wird in deinem Browser mit dem nativen DOMParser verarbeitet. Verlässt dein Gerät nie.
Legacy-XML
Verarbeite Android-Ressourcen (strings.xml, Layouts), Sitemaps, SOAP-Manifeste oder beliebige Legacy-XML-Formate.
So funktioniert es
Drei Schritte, kein Aufwand
XML einfügen
Füge beliebiges gültiges XML ein: SOAP-Antwort, RSS/Atom-Feed, sitemap.xml, Android-Manifest oder jedes XML-1.0-Dokument.
Intelligente Konvertierung
XML-Attribute werden mit @-Präfix konvertiert, Textinhalt mit #text, und wiederholte Elemente werden automatisch zu Arrays gruppiert.
JSON herunterladen oder kopieren
Erhalte strukturiertes JSON, bereit zur Verwendung in deiner REST-API, NoSQL-Datenbank oder deinem JavaScript/Python-Code.
FAQ
Noch Fragen?
XML erlaubt sowohl Kind-Elemente als auch Attribute zur Datenspeicherung, ohne direktes JSON-Äquivalent. Die am weitesten verbreitete Konvention (verwendet von xml2js in Node.js, xmltodict in Python und JAXB in Java) ist das Präfixieren von Attributen mit @: Das Element mit einer id-42- und role-admin-Eigenschaft wird zu einem JSON-Objekt mit @id- und @role-Schlüsseln. Textinhalt gemischter Elemente (mit sowohl Attributen als auch Text) wird in den #text-Schlüssel gesetzt. Diese Konvention entspricht der BadgerFish-Spezifikation und den beliebtesten Ökosystem-Tools.
In XML ist es vollkommen gültig, mehrere Geschwisterelemente mit demselben Namen zu haben, zum Beispiel mehrere Item-Elemente innerhalb eines Items-Elements. JSON kann keine mehrfachen identischen Schlüssel im selben Objekt darstellen (das wäre laut RFC 7159 ungültiges JSON). Die Standardlösung ist, sie zu einem Array zu gruppieren. Ein guter Konverter erkennt automatisch wiederholte Elemente und konvertiert sie zu Arrays, auch wenn nur zwei vorhanden sind. Das kann zu Inkonsistenzen führen, wenn manchmal ein Element und manchmal mehrere vorkommen. Die Lösung ist, für Felder, die sich wiederholen können, immer zu einem Array zu normalisieren.
XML-Namespaces (vom W3C in der Empfehlung Namespaces in XML 1.0, veröffentlicht Januar 1999 und überarbeitet August 2006, definiert) sind ein XML-Feature ohne JSON-Äquivalent. Die häufigste Darstellung ist, das Namespace-Präfix als Teil des Schlüsselnamens einzuschließen: Ein soap:Body-Element mit entsprechender Namespace-Deklaration wird zu einem soap:Body-Schlüssel im JSON. Namespace-Deklarationen werden als Attribute behandelt und erscheinen mit @xmlns-Präfix. Für Anwendungsfälle wie die SOAP-zu-REST-Migration, wo Namespaces allgegenwärtig sind, ist oft eine Nachbearbeitung erforderlich, um Namespace-Präfixe aus dem resultierenden JSON zu entfernen.
CDATA (Character Data) ist ein spezieller XML-Abschnitt, der das Einfügen von Text ermöglicht, der normalerweise reservierte Zeichen enthält, ohne XML-Entities verwenden zu müssen. Die Syntax ist Ausrufezeichen, eckige Klammern und das Schlüsselwort CDATA vor dem Inhalt. CDATA wird häufig verwendet, um HTML, JavaScript, SQL oder Text mit Sonderzeichen innerhalb eines XML-Elements einzuschließen. Bei der JSON-Konvertierung wird CDATA-Inhalt als einfacher Text behandelt: CDATA-Abschnitte werden durch ihren Inhalt ohne die Markierungen ersetzt und das Ergebnis wird als normaler String im JSON-Feldwert platziert.
Die Konvertierung erfolgt in deinem Browser mit dem nativen DOMParser des Browsers zum Parsen von XML und einem benutzerdefinierten JSON-Serializer. DOMParser kann XML-Dateien von mehreren zehn MB in modernen Browsern (Chrome, Firefox, Edge) verarbeiten. Für große Dateien (über 10 MB) kann der Prozess mehrere Sekunden dauern. Für sehr große XML-Dateien (über 100 MB wie Sitemaps mit hunderttausenden URLs oder XML-Datenbankdumps) empfehlen wir Streaming-Tools wie xml2json in Node.js mit Streams, xmltodict in Python mit dem iterparse-Modus von xml.etree oder den Saxon-Prozessor für unternehmenstaugliches XML.
XML zu JSON konvertieren: SOAP-zu-REST-Migration, RSS-Feeds und Legacy-XML-Verarbeitung
XML (Extensible Markup Language) wurde vom W3C in der XML-1.0-Empfehlung definiert (veröffentlicht am 10. Februar 1998, aktuell in der fünften Ausgabe vom November 2008). Während der 2000er Jahre war XML das universelle Datenaustauschformat: SOAP (Simple Object Access Protocol, W3C-Spezifikation 2003) verwendete XML als Nachrichtenformat, RSS 2.0 (veröffentlicht von Dave Winer im Jahr 2002) und Atom 1.0 (RFC 4287, Dezember 2005) verteilten Nachrichten-Feeds in XML, Android (von Google im Jahr 2008 eingeführt) verwendete XML für Layouts, Strings und Anwendungsmanifeste, und SVG (Scalable Vector Graphics, W3C 1.1 aus dem Jahr 2003) ist XML. Der Übergang zu JSON als primärem Austauschformat begann mit der Popularisierung von AJAX und Douglas Crockfords JSON-Spezifikation (RFC 4627, Juli 2006, abgelöst durch RFC 7159 im Jahr 2014). Heute verwenden die meisten neuen APIs JSON/REST, aber Millionen von Legacy-Systemen, B2B-Diensten und Industriestandard-Formaten (UBL, HL7 FHIR in XML, SOAP, KML, GPX) verwenden weiterhin XML.
Die Konvertierung von XML zu JSON ist nicht trivial, weil die beiden Datenmodelle grundlegende konzeptuelle Unterschiede haben. XML ist ein Knotenbaum-Modell (Elemente, Attribute, Text, Kommentare, Verarbeitungsanweisungen, CDATA), bei dem Elemente sowohl Attribute als auch Kind-/Textinhalt gleichzeitig haben können. JSON ist ein Wertbaum-Modell (Objekte, Arrays, Strings, Zahlen, Boolesche Werte, null) ohne Konzept von Attributen getrennt vom Inhalt. Die Hauptkonventionen für die Konvertierung sind: XML-Attribute als Schlüssel mit @-Präfix (BadgerFish/xml2js-Konvention); gemischter Element-Text im #text-Schlüssel; wiederholte Elemente zu Arrays gruppiert; Namespaces als Schlüsselpräfixe erhalten; CDATA als einfacher Text behandelt. Die BadgerFish-Konvention, dokumentiert auf badgerfish.de und von den beliebtesten Bibliotheken übernommen, ist der De-facto-Standard für diese Konvertierung.
Für Produktionsanwendungsfälle im großen Maßstab sind die am häufigsten verwendeten Tools: xml2js (Node.js, über 25 Millionen monatliche Downloads auf npm), xmltodict (Python, basierend auf der Standardbibliothek xml.etree), JAXB (Java, Teil von Jakarta EE) und encoding/xml (Go-Standardbibliothek). Für die Migration von Legacy-SOAP-Diensten zu REST bieten Tools wie Apache Camel, MuleSoft Anypoint und AWS API Gateway mit Payload-Transformationen native XML-zu-JSON-Integration auf Middleware-Ebene. Für sitemap.xml (das Sitemaps-Protokoll, definiert auf sitemaps.org und 2005 von Google übernommen) ermöglicht die Konvertierung zu JSON die Verarbeitung von URL-Listen mit JavaScript ohne XML-Parser. Convertir.ai verwendet den nativen DOMParser des Browsers (W3C-Standard-API, in allen modernen Browsern seit 2004 verfügbar) zum Parsen von XML und einen benutzerdefinierten Serializer zur JSON-Generierung, was vollständige Privatsphäre durch keine Serverübertragung von Daten garantiert.