Frage

manchmal fühlt es sich wie XML verwendet worden ist, nur weil es Mode war.

War es hilfreich?

Lösung

Einige Stärken:

  • Sie können XML-Daten gegen XSD validieren
  • Sie können leicht bieten Verträge (als XSD) an andere Parteien, die entweder sollten erstellen / verbrauchen XML-Daten, ohne buchstäblich beschreibt sie
  • Sie können ein bis viele Beziehungen in mehreren Ebenen in XML-Datendarstellung
  • XML ist wohl besser lesbar als CSV
  • XML nativ vom .NET Framework unterstützt

Um ein paar aus der Spitze von meinem Kopf zu nennen.

Andere Tipps

CSV-Dateien sind gut, wenn Sie Ihre Daten streng tabellarisch ist und Sie wissen, seine Struktur. Sobald Sie zwischen den verschiedenen Ebenen Ihrer Daten mit Beziehungen beginnen, xml neigt, besser zu arbeiten, weil Beziehungen offensichtlich gemacht werden können (auch ohne Schemata) nur durch nisten.

XML ist der Standard für seine vielen Vorteile geworden, dass viele andere Leute schon erwähnt haben. So ist die Frage wirklich wird „Wann und warum ist CSV vorzuziehen XML?“.

Ich fühle mich CSV to XML vorzuziehen ist, wenn: - Sie laden einfach Tabellendaten - Sie sind in der Steuerung sowohl der Erzeugung und dem Verbrauch der Datendatei - der Datensatz ist groß

CSV ist perfekt geeignet, wenn die ersten 2 Punkte erfüllt sind, und hat einen Leistungsvorteil, der mehr an Bedeutung gewinnt, je größer die Datenmenge ist.

Ich habe eine schnelle Probebelastung ~ 8000 mit jeweils 6 Textfeldern aufzeichnet. Laden und Parsen der XML nahm ~ 8 Sekunden. die CSV-Ladezeit weniger als 1 Sekunde.

Der Aufwand von XML ist es wert in vielen Fällen, aber wenn die Sterne ausrichten, macht CSV mehr Sinn.

CSV nützlich, wenn Sie nur eine Reihe von a-Werten haben, die bis zu einem gewissen Stück von Informationen beziehen, und Sie wissen, dass Sie immer Wert für jedes Feld gespeichert werden.

XML hat den Vorteil, dass selbstbeschreibenden Daten (Tags) und Hierarchie mit -., Die Sie viel mehr Flexibilität in der Art und Weise gibt, dass Sie die Daten speichern

Sie können eine viel komplexere Hierarchie, etc. haben und Struktur mit XML vs. CSV. Es bietet viel mehr Flexibilität.

fand ich eine interessante Leistungstest auf dem Netz. Gott Beispiel Nachteile von XML, wenn die Merkmale von XML ist nicht erforderlich.

"Ich habe versucht, Steven Experiment aus einem anderen Blickwinkel. Ich füllte eine Excel XP Tabelle mit einer einstelligen Zahl, gespeichert in XML und in einem kommagetrennte Textdatei (CSV). Ich komprimierte dann sowohl mit WinZip und dann geöffnet beide mit Excel. Hier ist, was ich gefunden habe:

Die XML-Datei war 840MB, die CSV 34MB - eine 2500% Differenz Komprimierte, die XML-Datei war 2,5 MB, die CSV 0.00015MB (150 KB) - eine 1670% Unterschied.

Ebenso dramatisch ist die Zeit, die zu dekomprimieren und die Dateien zu machen als eine Excel-Tabelle: Es dauerte etwa 20 Minuten mit der XML-Datei; die CSV 1 Minute dauerte -. Eine 2000% Differenz "

http://www.xml.com/pub/ a / 2004/12/15 / deviant.html

Natürlich ist es in Mode und Buzz-würdig manchmal. Es hängt alles von Ihrer Anwendung. Ich ziehe es Config-Dateien in XML, weil sie einfach zu analysieren. Während verwende ich CSV-Dateien für Datagridview oder Datenbank-Dumps.

Das Täglich WTF: XML vs CSV die Wahl ist Offensichtliche Sie Ihre Entscheidung treffen wird dazu beitragen, ;)

XML ist preferrable über CSV, wenn die Daten unstrukturierte (unbekannt Schema) und werden von einem Menschen gelesen werden.

Argumentieren, es sei denn, die Daten enthält überwiegend Text wird CSV auch für den menschlichen Verzehr bestimmt sind.

Ebenfalls relevant ist, wenn Ihre Daten 2 oder 3 dimensional. CSV ist am besten geeignet für 2-dimensionalen Text, und aufgrund seiner Ausführlichkeit, XML funktioniert gut mit 3-dimensionalen Daten.

Die ganze „standardness“ von XML ist Hyperbel, und sollte nicht wörtlich genommen werden. XML hat große technische Probleme haben, und viele der Lösungen sind nicht besonders elegant, oder in vielen Fällen nützlich:

  1. Es verwendet, um Text zu einem eigenen Text kodierenden angeben (Huhn und Ei?)
  2. Keine der häufigeren Schemasprachen für XML-Arbeit besonders gut.
  3. Die alte und alltäglich Weise Auszeichnungssprachen schaffen mit <tags> als Standard nicht besonders hilfreich ist.
  4. XML versucht, nachträglich leistungsfähigeren Auszeichnungssprachen wie die SGML basierende Schuhanzieher, in sich selbst, ein Durcheinander inkompatibler Vermächtnis zu schaffen.
  5. Es bleibt noch zu prüfen, ob oder nicht XML-Text-Escape-Sequenzen für alles andere als den einfachsten Fällen arbeiten können (dh. Freundliche Daten).

Um klar zu sein, XML ist wahrscheinlich die falsche Wahl für 90% des Datenaustausches ist es derzeit für verwendet werden, da diese Anwendungen einige oder alle der oben genannten Annahmen brechen.

Zusätzlich zu den anderen Antworten, XML können Sie festlegen, welcher Zeichensatz das Dokument in.

Ich habe die größten Vorteile von XML findet die Parsing-Funktionalität und die strenge Validierung zu sein, die mit dem meisten XML-Bibliotheken out-of-the-Box kommt. Das Beharren auf Wohlgeformtheits- und leicht zu verstehende Fehlermeldung (xyz nicht in Zeile x, y Spalte geschlossen) ist eine echte Hilfe im Vergleich zu zerbrochenen Werten der Jagd oder unbekanntes Verhaltens, wegen eines Fehlers in der CSV-Datei.

CSV ist leichter, wenn Sie Dinge über seit seiner normalerweise 2 mal kleiner als XML verschieben möchten

XML ist Standard und wird nicht durch unterschiedliche OS'es Version von CSV getroffen werden

Ich habe nicht genug Ruf auf der entsprechenden Antwort zu kommentieren, aber jemand schlug vor, die XML als eine Möglichkeit, Komprimieren Größe Parität mit CSV-Format zu gewinnen. Während die wahr ist, kann XML Kompression somtimes kommen, wie sie zu beißen. Wenn Sie XML-Daten von einem Punkt übertragen zu zeigen und es scheitert, dann ist es schön, dass man die XML lesen und herauszufinden, was schief gelaufen ist. Wenn die XML-komprimiert ist und die Übertragung fehlschlägt, ist es manchmal nicht möglich, sie zu entpacken und den Inhalt zu untersuchen. Mit anderen Worten aufhebt Komprimieren XML die menschliche Lesbarkeit Vorteil hat.

Ich würde die Verwendung von XML (und oder JSON) sagen, weil Sie einen Tag oder jemand (mit einem kurzen Temperament und einer großen Pistole Sammlung) kann gehen müssen, um einen Fehler in den CSV-Daten.

Also ja, ich sage Lesbarkeit, vergessen Sie nicht von dem anderen Kerl zu denken! Er kann über Sie denken.

XML bietet eine Möglichkeit, Ihre Daten mit Metadaten-Tagging (durch den Tag-Namen versehen und Attributnamen), während CSV nicht. Gepaart mit der Fähigkeit, strukturierte Hierarchien zu definieren, und es macht XML leichter zu verstehen, wenn nur mit den Daten zur Verfügung gestellt, während CSV würde ein begleitendes Werkzeug oder ein Dokument benötigen zu beschreiben, wie jeder Wert interpretiert wird.

Sie können ganz einfach über XML-Daten durchlaufen, auch wenn Sie komplexe Daten haben.

Überprüfen Sie diese Links:

Und wieder eine weitere für XML: Die X in XML steht für E Xtensible (ich weiß, nicht wirklich mnemonic :-P). Das heißt, mit Hilfe des XML-Namespace-Mechanismus, können Sie zwei beliebige XML-Sprachen verbinden Sie mögen und kombinieren sie in der gleichen Dokument. Da gibt es nur eine CSV ‚Sprache‘ (nicht die Myriaden von Begrenzer Arten gezählt), XML verarbeiten kann ziemlich viel Komplexität, und das in einer modularen Art und Weise.

Dies ist jedoch der Vorteil der CSV: Wenn Sie wirklich tabellarische Daten, XML-Syntax meist viel des Guten ist

.

Ich habe auch festgestellt, dass einige cvs Generatoren / Parser eine Menge Schwierigkeiten mit allgemeinen Textdaten haben. Lange Textzeichenfolgen mit vielen Zeilenumbrüchen und Komma und Zitaten, etc etc, nur Leben wirklich schwer, wenn es darum geht, ein cvs zu manipulieren.

SSMS mag csv zum Spaß gestutzt.

Strukturierte, für Menschen lesbaren, einfacher zu bearbeiten, Validierung, parsability, Wandelbarkeit, Typisierung, Namespaces, leistungsstarke Bibliotheken dahinter, sind unter vielen der Gründe.

Vor allem wenn es ist Standard.

  1. Es gibt bestehende Parser und Emitter für sie in jeder Sprache und Datenbank
  2. Sie beschäftigen sich mit Codierung für mich
  3. Sie beschäftigen sich für mich mit Flucht

Das ist alles, was mir wichtig ist.

Sicher, es ist ein semi-Standard Art und Weise in CSV zu tun zu entkommen (das heißt, „die Art und Weise Excel tut es“), und es ist nicht gerade schwer, sich selbst zu schreiben, aber es hat einige Zeit in Anspruch nehmen. Und dann haben Sie, implizit auf einer Zeichencodierung zustimmen Out-of-Band. Aber dann, weil es so einfach ist, versuchen die Menschen es sich zu schreiben, und immer vermasseln entweder # 2 oder # 3.

JSON trifft auch # 2 und # 3 und ist immer nah an befriedigend # 1. Es ist auch wohl einfacher, zumindest für Nicht-Dokument-Dateien. Es überrascht nicht, finde ich mich es mehr verwenden und mehr nach innen und außen.

Und ich ziehe es auch, weil es viel besser lesbar ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top