Die XML-Ausgabe
Das Beispiel-JSON erzeugt dieses XML:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name>Alice</name>
<age>30</age>
<address>
<city>Istanbul</city>
</address>
</root>
Jeder JSON-Schlüssel wird zu einem XML-Element. Das verschachtelte address-Objekt wird zu einem untergeordneten Element, das city enthält. Zahlen und Strings werden beide als Textinhalt gespeichert, was der XML-Standard ist.
Wie JSON auf XML abgebildet wird
JSON und XML repräsentieren dieselben Daten mit unterschiedlichen strukturellen Konventionen.
| JSON | XML |
|---|---|
{ "key": "value" } | <key>value</key> |
{ "key": 42 } | <key>42</key> |
{ "key": true } | <key>true</key> |
{ "key": null } | <key/> (leeres Element) |
["a", "b"] | Wiederholte <item>-Elemente |
| Verschachteltes Objekt | Verschachtelte untergeordnete Elemente |
JSON-Objekte werden sauber auf XML-Elemente abgebildet. Arrays erfordern eine Entscheidung: In ein plurales Elternelement wickeln oder flachdrücken. Die meisten Konverter wählen den Elternelement-Ansatz, weil er die Array-Grenze bewahrt.
Wann JSON zu XML konvertieren
SOAP-Webdienste
SOAP-APIs akzeptieren nur XML-Nutzlasten. Wenn du JSON-Daten von einer REST-API oder Datenbank-Export hast und sie an einen SOAP-Endpunkt senden musst, ist die Konvertierung obligatorisch. Der Anfrage-Body muss gültiges XML mit der richtigen Namespace-Struktur sein.
Unternehmensdaten-Integration
Bankensysteme, Versicherungsplattformen, Regierungsportale und Gesundheitssysteme tauschen Daten häufig in XML-Formaten wie HL7, XBRL oder benutzerdefinierten DTD-definierten Strukturen aus. Die Konvertierung von JSON-API-Antworten in diese XML-Formate verhindert das Erstellen eines benutzerdefinierten Parsers für jedes System.
Dokumentenveröffentlichung
XML ist das native Format für Dokumentenveröffentlichungssysteme: DocBook, DITA und XHTML-Workflows. Wenn du Inhalte programmatisch in JSON generierst, ermöglicht die Konvertierung zu XML, diese in这些 Veröffentlichungs-Pipelines ohne manuelle Neuformatierung einzuspeisen.
Konfigurationsmigration
Einige Tools und Frameworks verwenden immer noch XML für Konfiguration: Maven-POM-Dateien, Spring-Anwendungskontext, Android-Layouts und Jenkins-Pipeline-Definitionen. Die Konvertierung von JSON-Konfiguration zu XML ermöglicht die Migration zwischen Toolchains.
XML vs. JSON-Vergleich
XML hat Vorteile, die in bestimmten Kontexten wichtig sind. XML unterstützt Attribute, mit denen du Metadaten an Elemente anhängen kannst, ohne Kindknoten hinzuzufügen. XML hat eine formale Schema-Sprache (XSD) für Validierung, die für bestimmte Anwendungsfälle expressiver ist als JSON Schema. XML-Namespaces verhindern Elementnamenkollisionen über Vokabulare hinweg. XML unterstützt Kommentare und Verarbeitungsanweisungen, die kein JSON-Äquivalent haben.
JSON gewinnt bei Einfachheit und Entwicklererfahrung. Es ist kürzer, leichter zu lesen, hat native Unterstützung in jeder modernen Programmiersprache, und jede Web-API gibt es standardmäßig zurück. Für neue Projekte ist JSON fast immer die bessere Wahl, es sei denn, du hast eine spezifische Anforderung an XML-Funktionen.
XML-Fallstricke
Elementbenennungsregeln
XML-Elementnamen können nicht mit einer Ziffer beginnen, Leerzeichen enthalten oder Zeichen wie @, $ oder # verwenden. JSON-Schlüssel wie 123-abc oder first name müssen während der Konvertierung in gültige Elementnamen transformiert werden. Der Konverter ersetzt ungültige Zeichen typischerweise durch Unterstriche.
Namespace-Handhabung
XML-Namespaces verwenden eine Doppelpunkt-Syntax (prefix:name), die kein JSON-Äquivalent hat. Wenn dein Ziel-XML Namespaces erfordert, musst du sie möglicherweise nach der Konvertierung manuell hinzufügen. Der Standard ist ein namespace-freies XML-Dokument.
Typinformation
XML ist auf Elementebene nur Text. Die Zahl 30 und der String "30" werden beide zu <age>30</age> Wenn dein XML-Verbraucher Typen unterscheiden muss, musst du ein XSD-Schema definieren oder Attribute verwenden, um die Typinformation zu annotieren.