2010-06-23 25 views

Respuesta

12

Podría haber muchas razones: como cualquier otro formato de archivo, tiene pros y contras:

Pros:

  • .NET soporta de forma nativa la serialización de los objetos a XML y deserializar de vuelta otra vez .
  • Es más legible y descriptivo para el ojo humano que un formato binario o JSON
  • Se valida fácilmente contra un esquema para asegurarse de que está en el formato correcto.
  • Se puede cargar y analizar con otras herramientas.
  • Es fácilmente intercambiable con otras plataformas/idiomas, a diferencia del formato de serialización binario .Net nativo
  • Se puede transformar, y puede ejecutar xpath sobre él.

Contras:

  • Es más detallado de lo bien el formato de serialización binaria .Net nativa, o JSON
  • No Tipo de almacén de información acerca de las clases que se deserializado en XML, mientras un formato binario nativo.
3

La línea estándar es "legible por ordenador y datos legible por humanos"

Pero otros formatos como JSON son menos detallado e igualmente versátil.

+0

¿Es JSON más fácil de analizar para los humanos que XML? –

+0

No diría * más fácil *, pero ciertamente menos detallado. –

+3

Dissagree sobre JSON. JSON solo es bueno para que las máquinas lo lean y sea fácil de romper. –

2

Lo usamos para guardar los archivos de configuración de nuestra máquina. Tenemos muchas máquinas en el campo que se configuran de diferentes maneras. Podemos usar el serializador DataContract o Xml, que es fácil de implementar.

El beneficio para nosotros, es que podemos diferir fácilmente estos archivos para observar las diferencias entre las máquinas.

9

Es un estándar portátil y analizable.

Así que si tiene datos que necesitan ser leídos por varios programas diferentes (y posiblemente personas) podría usar XML.

También es relativamente fácil de validar y transformar (a través de XSLT) en otros formatos.

Obviamente, podría usar otros formatos, pero eso no le impide usar XML.

5

Probablemente sea una buena idea invertir su pregunta: ¿cuándo no estaría bien usar XML para guardar información?

  • Cuando solo necesita anexar datos con frecuencia, el ejemplo canónico son los archivos de registro. XML requeriría analizar el documento completo y encontrar la posición correcta para insertarlo con el fin de no romper la estructura bien formada

  • Cuando solo necesita consultar ciertos elementos en el archivo con frecuencia.XML probablemente no sea eficiente para acceder aleatoriamente a partes del archivo. Esto probablemente podría manejarse mejor con un formato que almacene la información a la que se accede con frecuencia en un desplazamiento conocido para que no se requiera el análisis del archivo.

  • Al almacenar datos secuenciales no jerárquicos, generalmente hay mejores alternativas a XML. Piense en formatos de archivos de imagen, audio o video.

Cuestiones relacionadas