¿Qué motivo podría haber para usar un XML para guardar información?¿Cuándo está bien usar un archivo XML para guardar información?
Respuesta
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.
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.
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.
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.
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.
- 1. ¿Está bien guardar mucha información en $ _SESSION?
- 2. ¿Cuándo está bien usar un IORef?
- 3. ¿Cuándo está bien usar Javascript y cuándo no?
- 4. ¿Cuándo está bien usar una variable global en C?
- 5. Guardar bien formado XML desde PowerShell
- 6. ¿Está bien usar __doPostBack()?
- 7. ¿Está bien para poner comentarios antes de la declaración XML?
- 8. Cuándo está bien atrapar una RuntimeException
- 9. ¿Está bien usar variables estáticas para almacenar información en caché en ASP.net?
- 10. ¿Está bien aún usar tablas?
- 11. ¿Cómo determinar si XML está bien formado?
- 12. Cómo usar OmniXML para guardar la configuración de una aplicación en un archivo xml
- 13. Mejores prácticas: atributo XML vs elemento XML: ¿cuándo debo usar elementos y cuándo debo usar atributos?
- 14. Ágil: ¿Cuándo funciona bien y cuándo no?
- 15. La opción para guardar un archivo está atenuada en Eclipse
- 16. Un archivo .deploy no está implementando un archivo XML
- 17. ¿Está bien usar google.setOnLoadCallback varias veces?
- 18. ¿Está bien usar == en enumeraciones en Java?
- 19. ¿Cómo guardar un archivo XML en un disco con python?
- 20. ¿Está bien para static_cast un puntero void *
- 21. ¿Está bien usar entidades HTML en atributos?
- 22. Al comparar por igualdad, ¿está bien usar `==`?
- 23. ¿Está bien usar array [key] en PHP?
- 24. ¿Está bien usar try catch inside finalmente?
- 25. ¿Está bien usar una ID de textura aleatoria?
- 26. Guardar archivo XML en AS3 es posible
- 27. ¿Está bien tener un archivo .htaccess muy largo?
- 28. Delphi: ¿Está bien para una forma liberarse?
- 29. Java diciendo que el documento XML no está bien formado
- 30. ¿Cómo puedo usar Nokogiri para escribir un archivo XML ENORME?
¿Es JSON más fácil de analizar para los humanos que XML? –
No diría * más fácil *, pero ciertamente menos detallado. –
Dissagree sobre JSON. JSON solo es bueno para que las máquinas lo lean y sea fácil de romper. –