Was ist das XML-Dateiformat?
.xml-Dateien speichern Daten im Format der Extensible Markup Language, einem Klartextstandard, der vom W3C entwickelt wurde. XML-Dateien können jede Datenstruktur als Klartext darstellen und eignen sich daher zum Speichern, Teilen und Übertragen von Daten zwischen Anwendungen über das Internet.
XML verwendet Markup-Strukturen - verschachtelte Tags und Attribute -, die die Regeln definieren, denen ein Kodierungsprozess folgen muss, um Dokumente zu erzeugen, die sowohl maschinenlesbar als auch menschenlesbar sind. Es wurde als zugänglichere Implementierung von SGML (Standard Generalized Markup Language) konzipiert und für den Web-Einsatz vereinfacht. Dateien beginnen typischerweise mit der Deklaration <?xml version="1.0" encoding="UTF-8"?>, und der MIME-Typ ist application/xml.
XML-Dateien verwenden Unicode-Kodierung (standardmäßig UTF-8) und können mit jedem Standard-Texteditor geöffnet und bearbeitet werden. Da das Format selbstbeschreibend ist - jedes Element ist benannt und in einer klaren Hierarchie verschachtelt -, können die Daten ohne spezielle Software eingesehen werden. Für die programmgesteuerte Verarbeitung oder Abfrage ist jedoch ein Parser oder eine Abfragesprache wie XPath erforderlich.
XML ähnelt in vielerlei Hinsicht .HTML, da beide Formate Auszeichnungssprachen zur Darstellung strukturierter Inhalte verwenden. HTML konzentriert sich auf die Präsentation und Interaktion von Webseiten, während XML Inhalte in Bezug auf die Daten selbst beschreibt. Beide Formate werden in vielen Webanwendungen gemeinsam eingesetzt. XML dient auch als Grundlage für verwandte Standards wie .XSD-Validierungsschemata, .XSL-Transformations-Stylesheets und .RSS-Syndizierungs-Feeds.
Sicherheit
RISIKO: MEDIUMEine XML-Datei ist reiner Text und enthält keinen ausführbaren Code, daher ist das Lesen sicher. Die eigentlichen Risiken liegen im PARSER, nicht in der Datei: XML External Entity (XXE)-Angriffe missbrauchen <!DOCTYPE>/<!ENTITY>-Deklarationen, um lokale Dateien zu lesen oder Netzwerkanfragen auszulösen, und „Billion Laughs“-Entitätserweiterungen können den Speicher erschöpfen (Denial of Service). Dies ist nur dann relevant, wenn Software nicht vertrauenswürdiges XML mit aktivierten externen Entitäten und DTD-Verarbeitung parst - moderne Parser deaktivieren diese standardmäßig. Für einen Endnutzer, der eine .xml-Datei nur liest, besteht keine Gefahr; die Vorsicht gilt für Entwickler, die nicht vertrauenswürdiges XML verarbeiten. Achten Sie auch auf Dateien, die wie „daten.xml“ aussehen, aber in Wirklichkeit etwas anderes sind.
Formatdetails
kurz gefasstProgramme zum Öffnen von XML-Dateien
Technische Details
technische Spezifikation| Dateikodierung | Nur Unicode; UTF-8 ist der Standard, wenn keine Deklaration vorhanden ist; UTF-16 und UTF-32 werden unterstützt und müssen im XML-Prolog deklariert werden |
| MIME-Typ | `application/xml` (primär, gemäß RFC 7303); `text/xml` wird zur Legacy-Kompatibilität akzeptiert; bestimmte Dialekte können eigene Typen registrieren (z. B. `application/rss+xml`) |
| Dateisignatur | Keine feste binäre Magic-Number; Dateien beginnen typischerweise mit der optionalen XML-Deklaration `<?xml` (hex `3C 3F 78 6D 6C`); ein UTF-8-BOM (`EF BB BF`) oder ein UTF-16-BOM (`FF FE` / `FE FF`) kann vorangestellt sein |
| Dokumentstruktur | Strenge Hierarchie: genau ein Wurzelelement; unbegrenzte Verschachtelung von Kindelementen; öffnende Tags können benannte, in Anführungszeichen gesetzte Attribute tragen; der gesamte Baum muss wohlgeformt sein |
| Wohlgeformtheitsregeln | Alle Tags müssen geschlossen oder selbst-schließend sein; Elemente dürfen sich nicht überkreuzen; Attributwerte müssen in Anführungszeichen stehen; fünf vordefinierte Entitäten (&, <, >, ", ') behandeln reservierte Zeichen |
| Validierungsmechanismen | DTD (Document Type Definition - inline oder externe `.dtd`-Datei, älterer Standard) und XSD (XML Schema Definition - eine `.xsd`-Datei, selbst in XML verfasst, mit einem reichhaltigeren Typsystem); Schematron bietet regelbasierte Validierung |
| Namespace-Unterstützung | `xmlns`- und `xmlns:prefix`-Deklarationen binden Element- und Attributnamen an eine URI und verhindern so Kollisionen beim Kombinieren von Vokabularien aus mehreren Quellen |
| CDATA-Abschnitte | `<![CDATA[...]]>`-Blöcke erlauben die Verwendung von Rohtext, der <, > und & enthält, ohne Entitäts-Escaping; nützlich zum Einbetten von HTML-Fragmenten oder Skriptcode |
| Verarbeitungsanweisungen | `<?target instruction?>`-Syntax bettet anwendungsspezifische Direktiven ein (z. B. `<?xml-stylesheet type="text/xsl" href="style.xsl"?>`) außerhalb des XML-Datenmodells |
| Abfragesprachen | XPath 1.0/2.0/3.1 adressiert einzelne Knoten innerhalb eines Dokuments; XQuery ermöglicht SQL-artige Abfragen über XML-Datensätze; beide sind W3C-standardisiert |
| XSLT-Transformation | `.xml`-Dateien können zur Laufzeit in HTML, Klartext oder andere XML-Vokabularien transformiert werden, indem ein XSLT-Prozessor das Quelldokument mit einem `.xsl`- oder `.xslt`-Stylesheet zusammenführt |
| Kommentarsyntax | `<!-- Text -->`-Kommentare dürfen überall außerhalb eines Tags erscheinen; doppelte Bindestriche sind im Kommentarinhalt verboten; Kommentare sind vom XML-Datenmodell ausgeschlossen |
| Zeilenenden-Normalisierung | Konforme Parser normalisieren \r\n- und einfache \r-Sequenzen zu \n vor der Verarbeitung und gewährleisten so konsistentes Zeilenende-Verhalten auf allen Plattformen |
| Entitätsdeklarationen | Benannte Entitäten (&name;) und numerische Zeichenreferenzen (&#nnnn; dezimal oder &#xHHHH; hex) betten beliebige Unicode-Codepoints ein; benutzerdefinierte Entitäten können in einer DTD deklariert werden |
| Prolog-Struktur | Ein XML-Dokument besteht aus einer optionalen XML-Deklaration, einer optionalen DOCTYPE-Deklaration, optionalen Verarbeitungsanweisungen und Kommentaren, gefolgt von genau einem Wurzelelement |
| Dialekt-Ökosystem | XML ist die Basissyntax für XHTML, SVG, RSS, Atom, DOCX (Office Open XML), EPUB, KML sowie Konfigurationsformate, die von Android, Maven, Spring und Java EE verwendet werden |
| Veröffentlicht | 1998 (XML 1.0 W3C Recommendation, February 10, 1998) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | www.w3.org |
XML-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu XML-Dateien.