Wofür ist XML gut und wann sollte ich es verwenden?

Lesezeit: 6 Minuten

Benutzer-Avatar
Harald

Ich bin neugierig, ich habe ziemlich leistungsstarke Websites/Web-Apps entwickelt, und ich habe nie XML gelernt, noch seltsamer, ich hatte nie wirklich das Bedürfnis dazu. Es ist nicht wie Curl oder Prepared Statements, bei denen ich, bevor ich wusste, was sie taten und wie sie funktionierten, das Gefühl hatte, dass es einen einfacheren Weg geben muss, dies zu tun! oder ‘dafür muss es etwas geben!’.

Derzeit arbeite ich mit MySQL und JSON und habe nicht dieses Gefühl von ‘das muss ich lernen’ (XML), das muss falsch sein!

Ich bin wirklich daran interessiert, einige überzeugende Argumente für XML zu hören und etwas über Dinge zu erfahren, die es besser kann als JSON oder MySQL (oder einen anderen Aspekt der Webentwicklung) und wann ich es verwenden sollte!

  • Ich habe das Javascript-Tag aus Ihrer Frage entfernt, gute Frage, das musste ich auch wissen

    – Starx

    20. Mai 2010 um 8:46 Uhr


Benutzer-Avatar
4imble

JSON ist sehr leichtgewichtig, wodurch es besser für die Weitergabe von Daten an das Frontend geeignet ist.

XML hat beschreibende Tags, die (meiner Meinung nach) das Lesen im Rohformat erleichtern. Wenn ich irgendeine Art von Einstellungsdatei haben möchte, die von meinem Programm geladen wird, hätte ich sie in einem XML-Dateiformat.

Das ist sowieso meine Vorstellung davon, aber ich bin sicher, dass es viel tiefergehende Gründe gibt, sich für eines gegenüber dem anderen zu entscheiden. Von denen ich nicht erfahren genug bin, um sie aufzulisten 🙂

Ich habe jedoch ein paar Websites gefunden, die einige gute Punkte machen.

http://ajaxian.com/archives/json-vs-xml-the-debate (Einige gute Punkte in den Kommentaren)

http://webignition.net/articles/xml-vs-yaml-vs-json-a-study-to-find-answers/

  • Was meinen Sie xml does not support arrays?!?!?

    – Klaus Byskov Pedersen

    20. Mai 2010 um 8:30 Uhr

  • Schade, dass Sie den Teil über Arrays losgeworden sind. Es ist wahr, dass XML keine Arrays unterstützt (wie in: es bietet keine eingebaute spezifische Funktion, um sie selbstbeschreibend zu machen). Stattdessen verwendet XML (ab) dieselbe Syntax sowohl für Arrays mit geordneten unbenannten Elementen als auch für datensatzähnliche Objekte mit benannten Elementen. Der Hauptgrund, warum XML Schemas brauchte, war, diese Einschränkung zu überwinden!

    – Daniel Earwicker

    20. Mai 2010 um 8:59 Uhr

  • Dies war mein erster Versuch, jemandem eine Frage zu beantworten, und ich geriet in Panik (ich fühle mich schlecht, wenn ich die ganze Zeit frage, aber hey, ich lerne), das sind jedoch einige gute Informationen. Danke, dass du es für mich geklärt hast.

    – 4imble

    20. Mai 2010 um 9:17 Uhr

  • Hey @Kohan, ich weiß deine Bemühungen zu schätzen! Mach dir keine Sorgen über solche Kleinigkeiten. Nochmals vielen Dank, dass Sie Ihre Ansicht und die netten Links geteilt haben. 🙂

    – zeFree

    5. Juli 2012 um 0:38 Uhr

XML ist nützlich zum Speichern heterogener Baumstrukturen in Situationen, in denen allgemeine Tools darauf angewendet werden können und eine gewisse Redundanz wünschenswert ist. Wenn Sie moderne Webentwicklung betreiben, besteht eine gute Chance, dass Sie eher XHTML als HTML und RSS oder Atom produzieren, also sollten Sie bereits be it verwenden. Die gängigsten RDF-Formate verwenden es.

JSON ist etwas einfacher für Daten im Web zu arbeiten, hat aber nicht die gleichen Funktionen – Sie können keine Attribute in JSON haben, also gibt es keinen impliziten Unterschied zwischen Daten und Metadaten, und Sie haben es nicht über Verarbeitungsanweisungen verfügen oder Entitäten für wiederholte Textabschnitte erstellen können. Andererseits verwenden viele Anwendungen von XMLl diese Funktionen auch nicht. SQL-Datenbanken haben ein festes Schema und stellen Bäume nicht gut dar.

Meistens wird XML für die Interoperabilität verwendet.

  • Wenn er Webentwicklung betreibt, besteht eine gute Chance, dass er ungültig produziert XHTML gesendet als text/html. MEINER BESCHEIDENEN MEINUNG NACH 🙂

    – Ionuț G. Stan

    20. Mai 2010 um 8:33 Uhr

  • “Sie können keine Attribute in JSON haben” Wie wäre es mit: { "firstAttribute": "value1", "secondAttribute": "value2", "content": [ /*blah*/] }? Und diese Attribute können selbst Objekte sein, während sie in XML auf Strings beschränkt sind.

    – Daniel Earwicker

    20. Mai 2010 um 8:56 Uhr


  • @Daniel – Ihr Beispiel würde in XML als value1value2 dargestellt, nicht, wie Pete sagte: . Der Unterschied mag zwar nur ein semantischer sein, aber es gibt durchaus Argumente für eine Abgrenzung von Daten von Metadaten

    – K Prime

    20. Mai 2010 um 9:06 Uhr

  • @K Prime – aber ich habe sie angerufen firstAttribute usw. aus dem einfachen Grund, dass sie alles aus XML darstellen, was normalerweise durch Attribute dargestellt würde. Wenn Metadaten es wert sind, unterstützt zu werden, warum sollten Sie ihnen dann eine verkrüppelte Einrichtung geben, die keine Struktur, sondern nur Zeichenfolgenwerte unterstützen kann?

    – Daniel Earwicker

    20. Mai 2010 um 9:40 Uhr

  • @Daniel Earwicker Es gibt keine ‘Zeichenfolge’ in XML. Die eingebauten Typen für Attribute sind CDATA, NMTOKEN, NMTOKENS, ungefähr Zeichendaten, Aufzählungswerte oder Listen von Aufzählungswerten. Aber diese Felder sind keine Metadaten, sondern Daten. Sie können immer den Namen des Felds verwenden, um anzuzeigen, dass es sich um Attribute handelt, aber das liegt eher an der Interpretation als am Unterschied zwischen Text, strukturellem Markup (Element-Tags) und Metadaten (Attribute).

    – Peter Kirkham

    20. Mai 2010 um 12:21 Uhr


Einer der Vorteile von XML gegenüber anderen Serialisierungsformaten ist die Anzahl der verfügbaren Tools. Die andere ist die Möglichkeit, die Beschreibung Ihrer Daten zu formalisieren (XML-Schema).

Durch die Verfügbarkeit von Tools können Sie XML-Editoren, Transformer, Visualizer usw. verwenden. Dort, wo ich arbeite, verwendet beispielsweise das Kommunikationsteam einen XML-Editor, um Inhalte und Metadaten zu bearbeiten. Sie sind nicht technisch genug, um JSON von Hand (oder XML) zu schreiben, aber es ist sehr einfach, ihnen eine Vorlage mit einem netten generischen Frontend zu geben, um die benötigten Dokumente zu bearbeiten.

Eine Formatbeschreibung (XSD, DTD, Relax NG, …) bedeutet, dass Sie Ihre Dokumente auch automatisch validieren können. Es dient auch als ziemlich gute Dokumentation dessen, was in Ihren Dokumenten erlaubt ist und was nicht.

Benutzer-Avatar
Rodrick Chapman

XML dient einfach dazu, Nachrichten auf strukturierte Weise zu speichern, die (angeblich) anwendungsunabhängig ist. Das ist alles. Anders gesagt, XML bietet eine Möglichkeit, die Semantik (Bedeutung) von Daten bei der Kommunikation zwischen verschiedenen Anwendungen beizubehalten. Es ist auch als Konfigurationsformat beliebt, da (1) eine Konfigurationsdatei nur eine Nachricht zwischen verschiedenen Anwendungssitzungen* ist und (2) fast jede Sprache über ausgereifte Standard-XML-Bibliotheken verfügt.

*Sie können sich dies auch nur als degenerierten Fall der Kommunikation zwischen Anwendungen vorstellen.

Benutzer-Avatar
gut

Ich verwende XML für Übersetzungen von Website-Etiketten, Tags usw. oder nicht wiederkehrenden Inhalten. Für so etwas ist es ein Lebensretter.

Benutzer-Avatar
Tapdingo

Ich verwende XML hauptsächlich für Konfigurationsdateien oder als Transportformat, aber wenn Sie mit JSON oder YAML vertraut sind, könnten sie genauso gut für Sie sein, sodass Sie XML nicht wirklich lernen müssen.

XML taugt nur für den Datenaustausch und sonst nichts.

Sie müssen XML also nur lernen, wenn Sie einen RSS-Feed parsen oder bereitstellen. Keine Raketenwissenschaft, da es dieselbe Auszeichnungssprache wie HTML ist, mit einigen strengen Richtlinien.

Ol’ guter Artikel vom Gründer von Stack Overflow Dinge zu sortieren

  • Dies ist nicht einmal wahr. Man kann Daten auf unzählige andere Arten übertragen. Und die Nutzlast wächst, da so viele nutzlose Tags darin sind.

    – Stimpson-Katze

    22. Juni 2021 um 14:06 Uhr

  • @StimpsonCat damals war mein Englisch nicht so gut. Ich habe den Satz korrigiert, um die ursprüngliche Bedeutung wiederzugeben.

    – Ihr gesunder Menschenverstand

    27. Juni 2021 um 8:34 Uhr

1057610cookie-checkWofür ist XML gut und wann sollte ich es verwenden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy