§

Eingabe

Modus
§

Ausgabe

Deutsche und britische Teams überbrücken täglich XML und JSON, weil zwei Teile eines Stacks sich über das Format uneinig sind. Das Deutsche Institut für Normung und das Bundesministerium für Gesundheit veröffentlichen HL7-FHIR-Ressourcen sowohl in XML als auch in JSON. SOAP-Dienste bei Deutscher Bank, Commerzbank und SAP geben XML-Envelopes zurück, die React-Frontends als JSON verarbeiten wollen. Auf der Datenseite kommen AWS-SNS- und SQS-Bodies, DESTATIS-Meldedaten und Bundesanzeiger-Einreichungen als XML, das Ingenieure in JSON umformen, bevor es in BigQuery oder eine PostgreSQL-JSONB-Spalte gelangt. Die Lösung ist in jedem Fall dieselbe: ein schneller, lokaler Konverter, den du auf einer frischen Payload neu ausführen kannst, ohne sie irgendwo hinzusenden.

Was ist XML-↔-JSON-Konvertierung?

XML (Extensible Markup Language) ist ein tagbasiertes Textformat für hierarchische Daten. Es begegnet dir in SOAP-Webdiensten, RSS- und Atom-Feeds, HL7-FHIR-Patientenakten, sitemap.xml-Dateien und den Konfigurationsdateien, die mit Maven, Spring und Android Gradle ausgeliefert werden. JSON (JavaScript Object Notation, definiert durch RFC 8259) beschreibt dieselbe Art von verschachtelten Daten, aber mit geschweiften Klammern und Arrays statt öffnenden und schließenden Tags. JSON ist das Format, das heute fast jede REST-API spricht, und es ist die native Wertform jeder Browser-Laufzeit. Zwischen beiden Formaten zu konvertieren klingt trivial, bis du auf Attribute, gemischte Inhalte, wiederholte Kinder und CDATA stößt. Ein benutzerdefinierter Regex ist die falsche Antwort; ein echter Parser ist die richtige. Dieses Tool liefert einen echten Parser (fast-xml-parser) und führt ihn in deinem Browser aus, sodass du einen XML-Envelope einer Legacy-SOAP-Schnittstelle einfügen und als JSON-Objekt erhalten kannst — bereit für deinen Redux-Store — oder eine JSON-Payload aus einem REST-Client nehmen und in die XML-Form zurückverwandeln, die ein Enterprise-Endpunkt noch erwartet.

Wie die XML-↔-JSON-Abbildung funktioniert

Jede Konvertierung läuft lokal in deinem Browser mit der gebündelten fast-xml-parser-Bibliothek (MIT, Version 4.x). Die übergeordneten Abbildungsregeln sind:

  1. Element zu Schlüssel: Jeder XML-Elementname wird zu einem JSON-Objektschlüssel. <user><name>Alice</name></user> wird zu {"user":{"name":"Alice"}}.
  2. Attribut zu präfixiertem Schlüssel: Ein Attribut wird unter einem Schlüssel gespeichert, der durch das gewählte Präfix gebildet wird. Mit Präfix @ erzeugt <user id="1"> das Ergebnis {"user":{"@id":"1"}}.
  3. Textinhalt zu Textknoten-Schlüssel: Wenn ein Element sowohl Attribute als auch Text hat, landet der Text unter dem gewählten Textknoten-Schlüssel. <price currency="USD">9.99</price> mit Schlüssel #text ergibt {"price":{"@currency":"USD","#text":"9.99"}}.
  4. Wiederholte Kinder zu Array: Wenn Array für wiederholte Kindtags erzwingen aktiviert ist, kollabieren mehrere Geschwisterelemente mit demselben Namen in ein JSON-Array. <items><item>A</item><item>B</item></items> wird zu {"items":{"item":["A","B"]}}.
  5. CDATA-Abschnitte: Der Rohtext in <![CDATA[…]]> wird unter dem Schlüssel #cdata bewahrt, damit spitze Klammern und Ampersands beim Hin-und-Herwandeln nicht erneut maskiert werden.
  6. JSON zu XML kehrt die Abbildung um: Objektschlüssel werden zu Elementen, präfixierte Schlüssel zu Attributen und Arrays zu wiederholten Geschwisterelementen.

Warum XML und JSON mit diesem Tool konvertieren?

  • Deine Daten bleiben auf deinem Gerät. Jedes Parsen und Aufbauen läuft im JavaScript-Kontext dieser Seite. FHIR-Patientenbündel, SOAP-Authentifizierungsenvelopes, proprietäre Konfigurationsdateien, Abrechnungsexporte — nichts davon berührt unsere Server, weil kein Upload-Schritt im Code-Pfad existiert. Öffne das Netzwerk-Panel und beobachte.
  • Legacy-SOAP in ein REST-first-Frontend zu überführen ist der häufigste Bedarf. Eine Bank oder ein Versicherer stellt einen SOAP-Endpunkt bereit, der in Jahren nicht abgelöst wird; die React- oder Vue-App, die ihn aufruft, will kein XML lernen. Den Envelope einfügen, JSON mit präfixierten Attributen und erhaltenen Namespaces erhalten, den Body-Inhalt in den State-Store ablegen.
  • RSS-, Atom- und Sitemap-Verbraucher profitieren ebenfalls. Ein Podcast-Verzeichnis, ein Nachrichtenaggregator oder ein internes Dashboard, das sitemap.xml einliest, kann auf das Schreiben eines XML-Parsers vollständig verzichten. Den Feed einmal konvertieren, mit dem JSON-Array arbeiten, und der Client-Code bleibt in der Sprache, die er ohnehin spricht.
  • Konfigurations-Export rundet die Liste ab. Maven, Spring, Android Gradle und klassische Ant-Builds emittieren XML; das cloud-native Tooling auf der anderen Seite (Terraform, Ansible, GitHub Actions, cloud-init) liest JSON oder YAML. Im Browser konvertieren statt ein Python-Skript mit einer Drittanbieter-Abhängigkeit zu starten — besonders nützlich in luftabgeschotteten Umgebungen, wo das Einfügen in einen unbekannten Webdienst ausgeschlossen ist.

Was sind häufige Anwendungen der XML-↔-JSON-Konvertierung?

Das Überbrücken von XML und JSON taucht in Integrationsengineering, API-Tooling und Data-Engineering auf. Einige Muster dominieren den Arbeitsanfall:

  • SOAP-zu-REST-Überbrückung: Die Body-Payload aus einem SOAP-Envelope einer Legacy-Banking- oder Versicherungs-API herausziehen und als JSON aufbereiten, damit ein React- oder Vue-Frontend sie ohne server-seitige Proxy-Schicht verarbeiten kann.
  • FHIR-Patientenakten: HL7-FHIR-XML-Bündel (das Format, das HHS/ONC und NHS Digital für den klinischen Datenaustausch vorschreiben) nach JSON konvertieren, um sie in eine MongoDB-Atlas-Sammlung oder eine PostgreSQL-JSONB-Spalte zu laden, wo Analysten sie abfragen können.
  • Sitemap- und Feed-Verarbeitung: Eine sitemap.xml oder einen RSS/Atom-Feed in ein JSON-Array umwandeln, damit ein benutzerdefinierter Indexer, ein Slack-Bot oder ein Dashboard-Widget die Einträge durchlaufen kann, ohne einen XML-Parser als Abhängigkeit einzuziehen.

Wie sieht ein XML-↔-JSON-Round-Trip aus?

Nehmen wir ein kleines Beispiel. Füge <user id="1"><name>Alice</name></user> in die Eingabe ein, setze das Attributpräfix auf @, lass den Modus auf XML zu JSON und drücke Konvertieren. Die Ausgabe ist {"user":{"@id":"1","name":"Alice"}}. Wechsle den Modus auf JSON zu XML, füge dieses JSON wieder ein, setze die Einrückung auf 2 Leerzeichen und drücke erneut Konvertieren. Du erhältst <user id="1">\n <name>Alice</name>\n</user>, strukturell identisch mit dem Original. Das Einzige, das beim Round-Trip nicht garantiert wird, ist die Attributreihenfolge, da JSON-Objektschlüssel laut Spezifikation ungeordnet sind.

Dieser XML-↔-JSON-Konverter liefert fast-xml-parser@4 am selben Ursprung gebündelt, behandelt Attribute, CDATA, wiederholte Kindtags und Namespace-Präfixe und funktioniert offline, sobald die Seite geladen wurde. Kein Upload-Schritt, kein CDN-Proxy, kein Analytics-Beacon, keine Telemetrie irgendeiner Art. Jedes Byte der Eingabe und Ausgabe bleibt in deinem Browser — genau das, was du willst, wenn die Payload ein FHIR-Patientenbündel, ein SOAP-Authentifizierungsenvelope oder eine andere Form von Daten ist, die niemand außerhalb deines Teams jemals sehen sollte.