2010-05-20 13 views
26

Ich bin neugierig, ich habe ziemlich leistungsstarke Websites/Web-Anwendungen entwickelt, und ich habe nie XML gelernt, noch seltsamer habe ich nie wirklich das Bedürfnis gefühlt. Es ist nicht wie Curl oder Prepared Statements, wo ich, bevor ich wusste, was sie getan haben und wie sie gearbeitet haben, das Gefühl hatte, dass es einen einfacheren Weg geben muss, dies zu tun! oder "dafür muss etwas entworfen sein!".Wofür ist XML gut und wann sollte ich es verwenden?

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

Ich bin wirklich interessiert, einige überzeugende Argumente für XML zu hören, und erfahren Sie mehr über Dinge, die es tun kann als JSON oder MySQL (oder einen anderen Aspekt von Web-Dev) und wann ich es verwenden sollte!

+0

I entfernt Javascript-Tag aus Ihrer Frage, ich gute Frage auch dieses – Starx

+0

muß wissen, [AJAX oder AJAJ?] (Http://izlooite.blogspot.com/2010 /05/ajax-or-ajax-xml-vs-json.html) –

Antwort

10

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

XML hat beschreibende Tags, die (ich persönlich finde) das Lesen im Rohformat erleichtern. Wenn ich irgendeine Art von Einstellungsdatei haben möchte, die von meinem Programm geladen wird, würde ich es in einem XML-Dateiformat haben.

Das ist meine Vorstellung davon, aber ich bin mir sicher, dass es viel mehr gründliche Gründe gibt, sich für eines zu entscheiden. Von denen ich nicht erfahren genug bin, um aufzulisten :)

Jedoch fand ich ein paar Aufstellungsorte, die einige gute Punkte bilden.

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/

+2

Was meinst du mit 'xml unterstützt keine Arrays'?!?!? –

+0

Mein Fehler, bearbeitet. – 4imble

+0

danke kohan, einige interessante Artikel dort – Haroldo

-6

Mit PHP, wie bei den meisten dynamischen Sprachen, ist es am besten für Interoperabilitätszwecke geeignet. XML ist schneller neu zu schreiben als Java, aber PHP ist schneller neu zu schreiben als XML.

+7

XML ist ein Mittel zur Strukturierung von Daten, Java und PHP sind Programmiersprachen, sie können nicht verglichen werden. – Quentin

2

Ich verwende XML hauptsächlich für Konfigurationsdateien oder als Transportformat. Wenn Sie jedoch mit JSON oder YAML vertraut sind, können sie für Sie genauso gut sein, so dass Sie XML nicht wirklich erlernen müssen.

11

XML ist nützlich für die Speicherung heterogener Baumstrukturen in Situationen, in denen allgemeine Werkzeuge auf sie angewendet werden können und einige Redundanz wünschenswert ist. Wenn Sie moderne Web-Entwicklung machen, gibt es eine gute Chance, dass Sie XHTML statt HTML produzieren, und RSS oder Atom produzieren, also sollten Sie es bereits verwenden. Die gängigsten RDF-Formate verwenden es.

JSON ist ein wenig einfacher für Daten im Web zu arbeiten, hat aber nicht die gleichen Funktionen - Sie können keine Attribute in JSON haben, so dass es keinen impliziten Unterschied zwischen Daten und Metadaten gibt Sie haben keine Verarbeitungsanweisungen oder die Möglichkeit, Entitäten für wiederholte Textabschnitte zu erstellen. Auf der anderen Seite verwenden viele Verwendungen von XML1 diese Funktionen auch nicht. SQL-Datenbanken haben ein festes Schema und repräsentieren Bäume nicht gut.

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

+2

Wenn er Web-Entwicklung macht, besteht eine gute Chance, dass er ungültiges 'XHTML' produziert, das als' text/html' gesendet wird. IMHO :) –

+1

Ja, aber das ist keine Entschuldigung dafür, es nicht zu lernen. –

+2

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

4

Ich benutze XML für Übersetzungen von Website-Etiketten, Aufkleber usw. oder nicht-wiederholender Inhalte. Für so etwas ist es ein Lebensretter.

1

"Wissen XML" kann ein paar verschiedene Dinge bedeuten.

Die erste ist das Verständnis der grundlegenden Syntax. Es ist eine Voraussetzung für das Schreiben von XHTML, SVG, Atom, RSS und einer Vielzahl anderer Sprachen, die XML-Anwendungen sind.

Die zweite basiert auf der ersten und versteht, wie Sie Ihre eigenen XML-Anwendungen, d. H. Benutzerdefinierte Datenspeicher- oder Austauschformate, entwickeln können. JSON kann eine ähnliche Rolle erfüllen und hat einige Vorteile (z. B. implizit ein Array von Daten darstellen zu können: { bar: ['foo'] }. In XML müsste ein Parser den Inhalt von <bar> in ein Array für die Programmiersprache konvertieren, wenn Sie möchten Behandeln Sie es als eine einfache Datenstruktur) <bar><foo/></bar>) und Nachteile (XML lässt Sie optionale Dinge in beliebiger Reihenfolge mit weniger Aufwand).

2

XML ist die einzige Lösung für den Datenaustausch und gut für nichts anderes.

Also müssen Sie XML nur lernen, wenn Sie einen RSS-Feed analysieren oder liefern. Allerdings keine Raketenwissenschaft, da es dieselbe Auszeichnungssprache wie HTML ist, mit einigen strengen Richtlinien.

Ol' good article from ol' good Joel Dinge auszusortieren

+2

Absolutismus ist immer falsch. – Tom

6

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

Die Verfügbarkeit von Tools ermöglicht Ihnen die Verwendung von XML-Editoren, Transformatoren, Visualizern, ... Zum Beispiel, wo ich arbeite, haben wir das Kommunikationsteam einen XML-Editor verwenden, um Inhalte und Metadaten zu bearbeiten. Sie sind nicht technisch genug, um JSON per 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.

Wenn Sie das Format beschreiben (XSD, DTD, Relax NG, ...), können Sie Ihre Dokumente auch automatisch validieren. Es dient auch als eine ziemlich gute Dokumentation von was erlaubt ist und was nicht in Ihren Dokumenten ist.

5

XML ist einfach zum Speichern von Nachrichten in einer strukturierten Weise, die (scheinbar) anwendungsunabhängig ist. Das ist alles was es ist. Anders ausgedrückt bietet XML eine Möglichkeit, die Semantik (Bedeutung) von Daten bei der Kommunikation zwischen verschiedenen Anwendungen zu bewahren. 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 dies auch als einen entarteten Fall der Kommunikation zwischen Anwendungen betrachten.

1

XML ist als Format für nützlich:

  • Portierung von Daten zwischen Plattformen
  • Backup oder Export von Text aus einer Datenbank
  • sprachübergreifende Integration

Content-Management-Systeme es verwenden für diesen Zweck. Es ist auch nützlich für das Caching von Templat-Client-Code-Seite, wie verwendet, auf skechers.com und erläuterte in einem comment from Mark Beeson on Tim Bray's site:

Zum Glück gibt ist eine Möglichkeit, die gesamte Ansicht Schicht auf dem Client zwischengespeichert werden, während nach wie vor Seiten respektieren und immer noch AJAX an richtigen Stellen ohne monströse URLs anbieten. Sehen Sie sich die Quelle von skechers.com an - wir verwenden clientseitige XSLT, die im Browser zwischengespeichert wird, und die eine xsl-Datei beschreibt das Layout der gesamten Site. Auf diese Weise wird beim Navigieren von Seite zu Seite nur eine kleine Menge XML heruntergeladen. Wir haben festgestellt, dass dies unsere App enorm beschleunigt und es uns ermöglicht, eine riesige Menge an Caching durchzuführen.

Referenzen

Verwandte Themen