Was dieses Werkzeug tut
Schlüssel werden Elemente, Werte deren Inhalt:
{ "benutzer": { "name": "Ada", "port": 8080, "aktiv": true } }
<benutzer>
<name>Ada</name>
<port>8080</port>
<aktiv>true</aktiv>
</benutzer>
Ein Dokument mit mehreren Schlüsseln an der Wurzel wird in <root> verpackt, denn XML erlaubt genau ein Wurzelelement. Ein Array an der Wurzel wird zu wiederholten <item>-Elementen darin.
Hier hören die Typen auf zu existieren
Sehen Sie sich diese Ausgabe noch einmal an. 8080 und true sind jetzt Text, und nichts im Dokument sagt, dass sie je etwas anderes waren.
Das ist keine Einschränkung der Umwandlung, sondern das, was XML ist. Ein XML-Dokument trägt Struktur und Text. Typen kommen aus einem Schema — XSD, DTD, RELAX NG —, das außerhalb des Dokuments lebt und das diese Umwandlung nicht erfinden kann.
Die praktische Folge gehört klar gesagt: Zurückwandeln gibt Ihnen Zeichenketten. {"port": 8080} kommt als {"port": "8080"} zurück, sofern das Lesende nicht anders entscheidet — also rät, und sich bei einer Versionsnummer wie 1.10 oder einer Postleitzahl wie 01234 irrt.
Brauchen Sie einen typerhaltenden Rundweg, ist XML das falsche Ziel. Brauchen Sie XML, rechnen Sie mit einem verlustbehafteten Rückweg.
Schlüssel werden repariert, nicht kaputt ausgegeben
Ein XML-Elementname darf kein Leerzeichen enthalten und nicht mit einer Ziffer beginnen:
| Schlüssel | Element |
|---|---|
user name | <user_name> |
2nd | <_2nd> |
Und werden zwei Schlüssel auf denselben Namen repariert, wird der zweite user_name_1. Sie zu verschmelzen ließe einen Wert stillschweigend verschwinden — genau das, was dieses Werkzeug am meisten zu vermeiden sucht.
Attribute, und der Rundweg
Ein Schlüssel "@_id" wird zum Attribut, "#text" zum Text des Elements:
{ "benutzer": { "@_id": "1", "#text": "Ada" } }
<benutzer id="1">Ada</benutzer>
Das ist dieselbe Konvention, die die Richtung XML nach JSON ausgibt: ein aus XML gewandeltes Dokument wandelt in dieselbe Form zurück — mit den Typen nun als Zeichenketten, wie oben.
Datenschutz ab Werk
Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.