XML ist nur ein Werkzeug, das es in vielen Varianten und Anwendungen gibt. XML zeichnet sich in einigen Dingen aus und in anderen. Ich denke, eines der Probleme ist, dass die Leute "Enterprise" XML gesehen haben, das unnötig komplex mit Namespaces und Mist ist (SOAP, irgendjemand?). Der Trick beim Entwerfen von XML-Formaten für den Menschen besteht darin, Daten eine echte Bedeutung zu verleihen, ohne sie für das Lesen zu überfordern.
Eines der Dinge, mit denen die Leute Probleme haben, ist, dass XML manchmal ein Zeichen oder eine fehlende Klammer verschluckt. Es gibt jedoch auch einen Vor- und einen Nachteil. Der Vorteil ist, dass Sie keine Mehrdeutigkeiten wie bei HTML haben, bei denen verschiedene Fälle von semi-ungültiger Syntax unterschiedlich interpretiert werden können.
Der Nachteil ist, dass es etwas schwieriger zu schreiben und zu lernen ist. Ich stimme zu, es muss argumentiert werden, dass das Web nicht so schnell zu groß geworden wäre, wenn HTML so streng wie XML wäre, aber ich würde auch argumentieren, dass wir uns freuen würden, wenn es heute so wäre. :)
Verwenden Sie es auch nicht für alles, nur weil Sie den Sinn und das Urteilsvermögen haben, es angemessen anzuwenden. Wenn Sie nur XML haben, sind Sie in der Regel immer eine XSLT-Transformation, die nicht Ihren Vorstellungen entspricht. :)
Ich würde argumentieren, dass das Format nur dann wirklich wichtig ist, wenn Menschen damit interagieren müssen. Wenn Sie ein Programm schreiben, das etwas serialisiert und irgendwohin sendet, wo es von einem anderen Ihrer Programme verwendet werden soll, wen interessiert es dann, wie es aussieht, solange es so effizient wie möglich ist? Verwenden Sie ein Binärformat oder Hasen und Einhörner für alles, was mir wichtig ist.
Vorteile von XML
- Deckt viele Randfälle ab, die YAML und JSON nicht haben
- Es gibt hervorragende Tools zum Parsen und Validieren von XML in einer Reihe verschiedener Plattformen und Sprachen
- XML kann einfach und leistungsstark in ein anderes Format umgewandelt werden (durch Dinge wie XSLT)
- Angemessene XML-Dokumente sind für den Menschen einfach zu lesen und zu bearbeiten. Sag mir nicht, JSON ist einfacher, es ist nicht :)
- XML ist zu einem gewissen Grad selbstbeschreibend, dh es enthält direkt Informationen zu seiner Struktur und Bedeutung (im Gegensatz zu den meisten Binärformaten).
- Behandelt die Codierung
- Whitespace-Agnostiker, der die plattformübergreifende Verwendung erleichtert
- Bricht ab, wenn es nicht wohlgeformt ist (Stellt sicher, dass die Daten strukturell korrekt sind)
- Es ist nicht SGML
Nachteile
- Ausführlich
- Es ist nicht so schnell wie binär zu analysieren
- Bricht ab, wenn es nicht wohlgeformt ist (stürzt Ihre Anwendung ab)
Gute Verwendungen
- Konfigurationsdateien
- Datenaustauschformate
- Versionssichere Dateiformate
- Dokumente in Datenbanken speichern
Nicht so gut verwendet
- Datenübertragungsformate
- Objekte serialisieren
- Speichern relationaler Daten in Datenbanken
- Dateiformat für leistungsstarke E / A-Szenarien