XML formatieren

Validieren und formatieren Sie XML. Syntax-Hervorhebung. Kostenlos, für immer.
XML-Eingabe
Formatiertes XML
XML-Eingabe

Privat und sicher

Alles passiert in Ihrem Browser. Ihre Dateien berühren niemals unsere Server.

Blitzschnell

Kein Hochladen, kein Warten. Konvertieren Sie, sobald Sie eine Datei ablegen.

Wirklich kostenlos

Kein Konto erforderlich. Keine versteckten Kosten. Keine Tricks bei der Dateigröße.

XML (Extensible Markup Language) gibt es seit mehr als 25 Jahren, aber es ist immer noch fest in der Infrastruktur moderner Software verwoben: von Office-Dokumenten und Android-Layouts bis hin zu SOAP-APIs, RSS-Feeds, Konfigurationsdateien und digitalen Erhaltungsworkflows. Es ist nicht mehr der Star—diese Krone ging an JSON—aber XML bleibt kritisch, wo strenge Struktur, reiche Metadaten und langfristige Interoperabilität wichtig sind. Das Ziel dieses Artikels ist es, XML gründlich zu erklären: woher es kommt, wie es funktioniert, wie wir es verarbeiten und validieren, wie es sich mit neueren Formaten vergleicht und wie man es sicher und gut in 2025 und darüber hinaus verwendet.

1. Was XML tatsächlich ist

XML ist eine vereinfachte Auszeichnungssprache zur Darstellung strukturierter Daten und Dokumente mit verschachtelten Elementen und Attributen. Es wird durch die Extensible Markup Language (XML) 1.0 Recommendation des World Wide Web Consortiums definiert, die die Syntax für wohlgeformte XML-Dokumente spezifiziert und beschreibt, wie Prozessoren sie behandeln sollten.

Die XML-Spezifikation beschreibt XML als eine eingeschränkte Teilmenge von SGML (Standard Generalized Markup Language), die darauf ausgelegt ist, einfacher zu implementieren zu sein, während die Kernkraft von SGML erhalten bleibt: die Darstellung strukturierten Texts mit expliziter Auszeichnung.

Einige Schlüsseleigenschaften machen XML besonders:

  • Textbasiert und Unicode-fähig. XML-Dokumente sind Klartext und stützen sich auf Unicode/ISO-10646-Zeichensätze, was sie portabel und sprachunabhängig macht.
  • Selbstbeschreibend. Tagnamen und Attribute tragen Bedeutung. Es ist kein separates Schema erforderlich, um die Struktur grundlegend zu verstehen (obwohl Schemas sie viel mächtiger machen).
  • Hierarchisch. Die Baumstruktur von XML bildet direkt verschachtelte Daten, Dokumente und Konfigurationshierarchien ab.
  • Erweiterbar. Sie erfinden Ihre eigenen Tags und Vokabulare; XML selbst legt die Menge der erlaubten Elemente nicht fest.

2. Eine kurze Geschichte: von SGML zu XML zum modernen Web

Die Wurzeln von XML liegen in SGML, einem ISO-Standard aus den 1980er Jahren, der stark im Verlagswesen und in der technischen Dokumentation verwendet wurde. Mitte der 1990er Jahre war das HTML des Webs (das selbst SGML-basiert war) überall, aber zu begrenzt und eng mit der Präsentation gekoppelt.

Um 1996–1997 begann eine Arbeitsgruppe, zu der Jon Bosak, Tim Bray, C. M. Sperberg-McQueen, James Clark und andere gehörten, mit dem Entwurf einer einfacheren, webfreundlichen Teilmenge von SGML, die einfach und zuverlässig geparst werden konnte. Die erste XML-1.0-Empfehlung wurde 1998 veröffentlicht, und XML wurde schnell zur Grundlage für viele frühe Web-Standards und -Protokolle, einschließlich SOAP, WSDL, SVG, XSLT und zahlreichen branchenspezifischen Vokabularen.

Später verfeinerte XML 1.1 einige Edge-Cases bei der Zeichenbehandlung und Steuerzeichen, aber XML 1.0 bleibt die dominante Variante in der Praxis.

3. Kern-XML-Syntax: wohlgeformte Dokumente

Die XML-1.0-Spezifikation definiert eine präzise Syntax für wohlgeformte Dokumente. Mindestens ein wohlgeformtes XML-Dokument:

  • Hat genau ein Wurzelelement.
  • Verwendet passende Start- und Endtags.
  • Verschachtelt Elemente ordnungsgemäß (keine überlappenden Tags).
  • Verwendet Anführungszeichen für Attributwerte.
  • Verwendet legale Zeichen und Kodierungen.

Ein winziges, aber gültiges Dokument könnte so aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>George</to>
  <from>Adam</from>
  <message>Hello XML!</message>
</note>

Die XML-Deklaration ist optional, aber es ist die konventionelle Art, Version und Zeichenkodierung anzugeben. Das Dokumentelement <note> ist die einzige Wurzel. Textknoten, Elemente, Attribute, Kommentare, Verarbeitungsanweisungen und Entitätsreferenzen bilden zusammen die in der Spezifikation beschriebene Baumstruktur.

XML unterscheidet auch zwischen wohlgeformten und gültigen Dokumenten:

  • Ein wohlgeformtes Dokument folgt den Syntaxregeln.
  • Ein gültiges Dokument entspricht zusätzlich einer DTD oder einem Schema, das seine Struktur und seinen Inhalt einschränkt.

4. Namespaces: Vokabulare sicher mischen

Als sich XML-Vokabulare vervielfachten, wurden Namenskollisionen zu einem Problem: Ein Vokabular könnte <title> für einen Buchtitel verwenden; ein anderes für einen Jobtitel. Um Zusammenstöße zu vermeiden, führte XML Namespaces ein, definiert in der W3C-Empfehlung Namespaces in XML.

Zum Beispiel:

<book xmlns:dc="http://purl.org/dc/elements/1.1/">
  <dc:title>XML in Depth</dc:title>
</book>

Hier wird dc:title sicher von jedem anderen <title>-Element unterschieden, indem das dc Präfix an den Dublin-Core-Namespace-URI gebunden wird. Namespaces sind entscheidend in modernen XML-Ökosystemen: XSD, XSLT, SOAP, RSS und Office Open XML stützen sich stark darauf.

5. Validierung: DTDs, XML Schema und mehr

5.1 DTDs

Die ursprüngliche XML-Spezifikation enthielt Document Type Definitions (DTDs) als kanonische Methode zur Definition der erlaubten Struktur von Dokumenten—erlaubte Elemente, Attribute, Entitäten usw. DTDs sind kompakt und gut in den XML-Prolog integriert, aber sie sind begrenzt: Sie verwenden eine nicht-XML-Syntax, haben schwache Typisierung und haben Probleme mit Namespaces.

5.2 XML Schema (XSD)

Um DTD-Beschränkungen zu beheben, standardisierte das W3C XML Schema Definition (XSD), jetzt in Version 1.1, in XML Schema Definition Language (XSD) 1.1 Part 1: Structures. XSD ist selbst in XML geschrieben, unterstützt Namespaces und bietet reiche Typisierung (Strings, Zahlen, Datumsangaben, Listen, Vereinigungen), Vorkommensbeschränkungen und komplexe Inhaltsmodelle.

Andere Schemasprachen existieren—wie RELAX NG und Schematron—aber XSD bleibt der De-facto-Standard in vielen Unternehmens- und standardgetriebenen Umgebungen.

5.3 Warum Validierung wichtig ist

Validierung verwandelt XML von strukturiertem Text in Verträge zwischen Systemen. Zum Beispiel:

  • Finanznachrichtenspezifikationen definieren strenge Schemas für Zahlungsanweisungen.
  • Standards wie Office Open XML und RSS formalisieren ihre Dokumentformate mit Schemas.
  • Build- und Konfigurationstools validieren Dateien wie pom.xml oder web.config, um Fehler früh zu erkennen.

6. XML-Verarbeitung: DOM, SAX und Streaming

XML selbst ist nur Text. Um etwas Nützliches zu tun, muss Software es in ein Modell parsen. Die beiden klassischen Verarbeitungsmodelle sind DOM und SAX.

6.1 DOM: In-Memory-Baum

Die DOM Level 3 Core-Spezifikation des W3C definiert ein sprachneutrales Objektmodell, das einen gesamten Dokumentenbaum darstellt, mit Knoten für Elemente, Attribute, Text, Kommentare und mehr. DOM ist zugriffsfreundlich, leicht zu verstehen und wird in Bibliotheken weitgehend unterstützt, erfordert aber, dass das gesamte Dokument im Speicher gehalten wird.

6.2 SAX: ereignisgesteuertes Streaming

Die Simple API for XML (SAX) ist eine ereignisgesteuerte API, die XML als Stream parst und Callbacks für Ereignisse wie "Startelement" oder "Endelement" auslöst. Sie wird auf der SAX-Projektseite und im Oracle SAX-Tutorial beschrieben.

SAX verarbeitet Dokumente in einem einzigen Durchlauf, ohne den gesamten Baum zu speichern, was es extrem speichereffizient macht und ideal für große Streams wie Protokolle, Nachrichtenverarbeitung oder Batch-Transformationen. Pull-basierte Streaming-APIs wie StAX folgen ähnlichen Prinzipien.

7. XPath, XSLT und XQuery: Abfragen und Transformieren von XML

7.1 XPath

XPath ist eine kompakte Abfragesprache zur Adressierung von Teilen eines XML-Dokuments mit pfadähnlichen Ausdrücken wie /bookstore/book[1]/title. Die neueste Version, definiert in XPath 3.1, erweitert das Modell, um auch JSON-Daten über Maps und Arrays zu behandeln, und wird von einer großen Menge standardisierter Funktionen unterstützt.

XPath ist in vielen Tools eingebettet: XSLT, XQuery, XML-Schema-Assertions und APIs in beliebten Programmiersprachen.

7.2 XSLT

XSL Transformations (XSLT) ist eine deklarative Sprache zur Transformation von XML in andere Formate—XML, HTML, Text oder sogar JSON in modernen Prozessoren. Die XSLT 3.0-Empfehlung des W3C definiert ein templatebasiertes System, das sich auf XPath für Musterabgleich und Auswahl stützt.

Stylesheets sind selbst XML-Dokumente, die den XSLT-Namespace verwenden. XSLT 3.0 fügt Streaming-Fähigkeiten für riesige Dokumente und verbesserte Integration mit JSON und Maps hinzu.

7.3 XQuery

XQuery ist eine vollständige Abfragesprache für XML-Repositories, definiert in XQuery 3.1. Sie ist für die Abfrage und Transformation von XML-Datensammlungen konzipiert, die oft in nativen XML-Datenbanken oder Dokumentenspeichern gespeichert sind, und verwendet FLWOR-Ausdrücke (for, let, where, order by, return), um mächtige Ergebnismengen zu generieren.

Zusammen bilden XPath, XSLT und XQuery ein reichhaltiges Toolkit für die Arbeit mit XML im großen Maßstab, insbesondere in den Bereichen Publishing, digitale Geisteswissenschaften, E-Government und Datenintegration.

8. Reale Anwendungen von XML heute

Auch wenn JSON Web-APIs dominiert, ist XML immer noch tief in vielen Systemen und Standards eingebettet.

8.1 Dokumentformate und Standards

  • Office Open XML (OOXML). Moderne Microsoft Office-Dokumente (.docx, .xlsx, .pptx) sind ZIP-Pakete von XML-Dateien, definiert durch ECMA-376 Office Open XML und verwandte ISO-Standards.
  • Digitale Erhaltung. Institutionen wie die Library of Congress behandeln XML (insbesondere XML 1.0) als stabiles, erhaltungsfreundliches Format zur Darstellung strukturierter digitaler Inhalte.
  • Wissenschaftliche und technische Auszeichnung. TEI, DocBook und andere domänenspezifische Vokabulare sind XML-basiert und ermöglichen semantische Auszeichnung und langfristige Archivierung.

8.2 Nachrichten und Webdienste

  • SOAP. Die SOAP 1.2 Spezifikation des W3C definiert einen XML-basierten Umschlag für den Austausch strukturierter Nachrichten über Protokolle wie HTTP.
  • RSS und Syndication. Die RSS 2.0-Spezifikation definiert ein XML-Format für Feed-Syndication, das immer noch weitgehend für Blogs, Nachrichten und Produktfeeds verwendet wird.

8.3 Konfiguration und Build-Systeme

  • Maven POMs. Das Project Object Model von Apache Maven (pom.xml) ist eine XML-Datei, die Projektmetadaten, Abhängigkeiten, Plugins und Build-Konfiguration beschreibt, dokumentiert in der POM-Referenz und Einführung in das POM.
  • Spring Framework XML-Konfiguration. Traditionelle Spring-Apps definieren oft Beans und Wiring in applicationContext.xml oder beans.xml Dateien, ein Ansatz, der immer noch in der Spring-Referenzdokumentation und Tutorials wie Java Guides beschrieben wird.
  • .NET-Konfiguration. ASP.NET und WCF stützen sich auf XML-formatierte web.config und app.config Dateien, um Endpunkte, Bindungen und Verhalten zu konfigurieren, wie in Microsofts web.config-Dokumentation und WCF-Konfigurationsanleitung beschrieben.

Allgemeiner bleibt XML ein gängiges Konfigurationsformat, wenn Validierung und Tools wichtig sind, insbesondere mit XSD-gestützten Schemas.

8.4 Mobile und UI-Layouts

In Android werden UI-Layouts typischerweise in XML-Dateien unter res/layout deklariert. Die Dokumentation von Google erklärt, dass Sie Layouts mit dem XML-Vokabular von Android schreiben, um Ansichten ähnlich wie HTML zu verschachteln, wobei jede Layoutdatei ein einzelnes Wurzelelement enthält.

9. XML vs JSON vs YAML

Bis 2025 hat JSON den Popularitätswettbewerb für Web-APIs klar gewonnen: Ein kürzlicher Vergleichsartikel schätzt JSON auf etwa 87% der Web-API-Antworten, mit XML bei 9% und YAML bei 4%.

9.1 Stärken von XML

Im Vergleich zu JSON und YAML glänzt XML, wenn Sie benötigen:

  • Reiche Schemas und starke Validierung. XSD ermöglicht es Ihnen, komplexe Typen, Einschränkungen und Beziehungen anzugeben und hat ein ausgereiftes Ökosystem von Tools und Validatoren.
  • Gemischter Inhalt und Dokumente. XML wurde für textlastige Dokumente entwickelt, in denen Auszeichnung und Text verschachtelt sind; JSON und YAML sind besser für rein strukturierte Daten.
  • Tiefe Metadaten und Erweiterbarkeit. Namespaces und Schemas ermöglichen versionsverträgliche Dokumente, in denen optionale Elemente und Attribute hinzugefügt werden können, ohne ältere Consumer zu brechen.

9.2 Stärken von JSON und YAML

JSON ist einfacher zu lesen und zu schreiben, bildet natürlich JavaScript-Objekte ab und ist kleiner auf der Leitung. Tutorials weisen häufig darauf hin, dass JSON Endtags weglässt, prägnanter ist und nativ in Browsern ohne einen dedizierten XML-Parser geparst werden kann.

YAML betont menschliche Lesbarkeit für Konfigurationen und ist beliebt in DevOps-Tools wie Kubernetes und Ansible, obwohl seine Komplexität und Einrückungsempfindlichkeit Fehler einführen können.

9.3 Das richtige Format wählen

Moderne Richtlinien tendieren dazu:

  • Verwenden Sie JSON für die meisten Web-APIs und Client-Server-Kommunikation.
  • Verwenden Sie YAML für entwicklerzentrierte Konfigurationen in Cloud/DevOps-Umgebungen.
  • Verwenden Sie XML, wenn Sie schema-gesteuerte Dokumente, gemischten Inhalt, bestehende XML-Ökosysteme (SOAP, OOXML, WCF, Android-Layouts) oder langfristige Archivierung benötigen, bei der Standardisierung und Tools ausgereift sind.

10. Sicherheit: XXE und andere XML-Fallen

Die Flexibilität von XML kommt mit scharfen Kanten, insbesondere bei externen Entitäten und DTDs. Das XML External Entity (XXE) Prevention Cheat Sheet von OWASP dokumentiert, wie XXE-Schwachstellen Angreifern ermöglichen, lokale Dateien zu lesen, serverseitige Request-Fälschung durchzuführen oder Denial-of-Service durch Ausnutzung von Entitätserweiterung zu verursachen.

Häufige Angriffsvektoren umfassen:

  • Externe Entitäten, die auf lokale oder Remote-Ressourcen verweisen.
  • Parametereinheiten in DTDs, die sich zu riesigen Payloads erweitern.
  • DTD-Abruf über nicht vertrauenswürdige Netzwerke.

Minderungsrichtlinien empfehlen allgemein:

  • DTDs und externe Entitäten in Parsern nach Möglichkeit zu deaktivieren.
  • Verwendung gehärteter Parser-Einstellungen oder sicherer Bibliotheken, die OWASP-Empfehlungen befolgen.
  • Validierung gegen Schemas ohne Aktivierung riskanter Features.

Andere Sicherheitsüberlegungen umfassen übergroße Dokumente (Ressourcenerschöpfung), XPath/XQuery-Injection in Systemen, die Abfragen aus Benutzereingaben erstellen, und falsch konfigurierte XML-basierte Konfigurationsdateien, die zu Rechteeskalation oder Codeausführung führen.

11. Design und Best Practices für XML

Wenn es durchdacht verwendet wird, bleibt XML eine saubere, robuste Methode zur Modellierung von Daten und Dokumenten. Einige praktische Richtlinien:

  • Modellieren Sie einen klaren Baum. Entwerfen Sie Ihr XML um einen stabilen konzeptionellen Baum (zum Beispiel <invoice><lineItems> <lineItem>) herum, anstatt ein relationales Schema direkt zu spiegeln.
  • Wählen Sie Elemente vs. Attribute absichtlich. Verwenden Sie Elemente für Hauptinhalt und Strukturen; verwenden Sie Attribute für Metadaten und Flags.
  • Verwenden Sie Namespaces von Anfang an. Auch für kleine Vokabulare vermeidet die Zuweisung eines Namespaces (zum Beispiel xmlns="https://example.com/ns/invoice") schmerzhafte Migrationen später.
  • Unterstützen Sie Ihr Format mit einem Schema. Stellen Sie XSD (oder eine andere Schemasprache) bereit und behandeln Sie es als Teil Ihres öffentlichen Vertrags. Verwenden Sie Schema-Validierung in CI und an Integrationspunkten.
  • Halten Sie es menschlich überprüfbar. Pretty-Printing und Kommentare helfen beim Debugging, bei der Konfiguration und bei der langfristigen Wartung.
  • Trennen Sie Daten von Präsentation. Verwenden Sie XML für Struktur und Bedeutung und transformieren Sie es mit XSLT oder anderen Tools zu HTML, PDF oder anderen Formaten.
  • Wählen Sie angemessene Verarbeitungsmodelle. Für kleine bis mittlere Dokumente und komplexe Abfragen kann DOM + XPath/XSLT ideal sein; für sehr große Streams oder eingeschränkte Umgebungen verwenden Sie SAX, StAX oder ereignisgesteuerte Verarbeitung.
  • Härten Sie Parser. Befolgen Sie die OWASP-XXE-Präventionsrichtlinien und die Sicherheitsbest Practices Ihrer Sprache beim Parsen nicht vertrauenswürdiger Eingaben.

12. Die zukünftige Rolle von XML

In der alltäglichen Webentwicklung hat XML die Bühne größtenteils an JSON und YAML abgegeben. Aber in vielen Bereichen—Unternehmensintegration, Dokumentstandards, Konfigurationsmanagement, digitale Erhaltung und Legacy-Systeme—ist das Umschreiben von allem in neuere Formate entweder nicht machbar oder unerwünscht.

Standards-Organisationen wie W3C und Ecma pflegen weiterhin XML-basierte Spezifikationen wie XML 1.x, XML Schema, XPath, XSLT, XQuery, SOAP und OOXML, und Institutionen wie die Library of Congress behandeln XML weiterhin als Archiv-Arbeitspferd.

Für Entwickler bedeutet das, dass Sie wahrscheinlich mit XML interagieren werden, wann immer Sie Office-Dateien, Android-Layouts, viele Java-Enterprise-Stacks, .NET-Konfiguration, ältere SOAP/WSDL-Dienste oder standardgetriebenen Datenaustausch berühren. Das Verstehen der Syntax, Namespaces, Schemas und Verarbeitungsmodelle von XML bleibt eine wertvolle Fähigkeit, insbesondere wenn Sie in Integration, Infrastruktur oder langlebigen Systemen arbeiten.

XML ist vielleicht nicht mehr der Star moderner Web-APIs, aber es ist immer noch ein solides, gut spezifiziertes und stark toolgestütztes Fundament für eine riesige Menge an Software. Es gründlich zu lernen, zahlt sich aus, wann immer Sie starke Schemas, reiche Dokumente benötigen oder die riesige Landschaft bestehender XML-basierter Standards navigieren müssen.

Häufig gestellte Fragen

Was ist XML?

XML (eXtensible Markup Language) ist eine Auszeichnungssprache, die Regeln für die Codierung von Dokumenten in einem Format definiert, das sowohl menschenlesbar als auch maschinenlesbar ist.

Warum muss ich XML formatieren?

Die Formatierung von XML macht es durch Hinzufügen von Einrückungen und Zeilenumbrüchen menschenlesbar. Dies ist besonders nützlich bei der Arbeit mit minimiertem XML, beim Debuggen oder beim Überprüfen von Konfigurationsdateien.

Was macht die XML-Validierung?

Die XML-Validierung prüft, ob Ihr XML-Dokument wohlgeformt (syntaktisch korrekt) ist und optional, ob es einem Schema entspricht.

Sind meine XML-Daten sicher?

Ja! Alle XML-Formatierung und -Validierung erfolgt vollständig in Ihrem Browser. Ihre Daten verlassen niemals Ihren Computer.

Kann ich eine XML-Datei hochladen?

Ja, Sie können eine XML-Datei über die Schaltfläche 'Datei öffnen' hochladen. Das Tool liest die Datei, validiert sie und zeigt die formatierte Ausgabe sofort an.

Was sind häufige XML-Fehler?

Häufige XML-Fehler sind: nicht geschlossene Tags, nicht übereinstimmende öffnende und schließende Tags, ungültige Zeichen, fehlendes Wurzelelement und falsch verschachtelte Elemente.

Kann ich das formatierte XML kopieren?

Ja, verwenden Sie die Schaltfläche 'Kopieren', um das formatierte XML in Ihre Zwischenablage zu kopieren.