2010-06-02 22 views
5

Ahora que muchas personas parecen estar avanzando hacia JSON para la comunicación web, me pregunto por qué se debe seguir utilizando XML.¿Todavía hay lugar para XML en el futuro?

Aprecio que XML tenga muchos años en JSON, tiempo durante el cual ha sido ampliamente adoptado. Sin embargo, el hecho de que esté tan bien adoptado parece ser la razón decisiva por la que debería seguir utilizándose.

¿Existe alguna buena razón por la que XML no se elimine gradualmente a favor de JSON?

+13

JSON * no * es un reemplazo de XML, es solo una alternativa enormemente simplificada. Hay más en XML que AJAX. – skaffman

Respuesta

12

Tenga en cuenta que JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero, mientras que XML (Extensible Markup Language) es un conjunto de reglas para la codificación de documentos de forma electrónica.

XML, por lo tanto, es no un formato, sino un "protocolo" para codificar diferentes formatos: XSLT, RSS, SOAP, RDF/XML y XHTML, sólo para nombrar unos pocos. JSON se ha vuelto últimamente más popular como formato de intercambio principalmente en servicios web, sin embargo, el alcance de XML es mucho más amplio que eso. Además, diría que el papel de XML es clave en el desarrollo del semantic web.

+0

Me gusta su término de "protocolo": siempre me resulta difícil distinguir entre el lenguaje de "fondo" de XML bien formado frente al lenguaje de "primer plano" definido por un esquema con respecto a qué XML puede estar bien formado. – 13ren

1

Los principales proveedores de RDBMS actuales prefieren la integración de documentos XML en sus productos: Oracle, MS SQL.

¿Qué lenguaje de consulta tiene para JSON? ¿hay soporte de los lenguajes de programación para consultar y crear documentos XML, como DOM/SAX, Linq a XML, etc.? Supongo que no ... así que XML seguirá presente por un tiempo.

5

Hay algunos tipos de estructura de datos que JSON no puede representar de una manera simple. Por ejemplo, ¿cómo traducirías este XML a JSON?

<p>This is a paragraph where <b>only some</b> of 
the text is bold and some <i>is italic</i></p> 

Probablemente sea posible hacerlo, pero no será tan simple como la representación XML. JSON es ideal para representar datos jerárquicos. XML, por el contrario, es razonablemente adecuado para representar documentos.

Para datos como ese (tos páginas web) XML encaja mejor, y creo que seguirá siendo ampliamente utilizado.

2

Supongo que se está olvidando que XML no solo se usa para la web, sino que también puede iniciar procesos con XML, crear archivos de configuración, transferir datos y hacer otras cosas. Entonces no, JSON definitivamente no va a reemplazar XML en absoluto.

4

XML es un formato mucho más potente que JSON. Es muy fácil validar XML utilizando esquemas, transformar XML a diferentes formatos usando XSLT, consultar XML usando XPath. etc.

En muchos casos no necesita todas estas funciones. En este caso, JSON es la mejor opción porque es más liviana, ofrece una mejor legibilidad y es más compacta. Pero hay muchas aplicaciones donde XML se adapta bien.

+0

Curiosamente, las personas están empezando a agregar validación y soporte de esquema a JSON. http://json-schema.org/ es un ejemplo. –

+0

¡Interesante! Gracias por ese enlace. – Mendelt

2

La razón más grande por la que sería el uso ENTERPRISE de XML. A pesar de que grandes empresas como Google adoptaron json, otras como Oracle, Microsoft favorecen que XML y XML arraiguen profundamente en donde fluyen las transacciones monetarias, esa raíz no se cambiará fácilmente. Otra cosa está en el nombre - Notación de Objeto Java Script Para usar json de manera efectiva en el lado del cliente, debe incrustarlo (si lo incrusta en HTML, hay problemas de seguridad Tiene que direccionar: link text), o para convertir en otro formato, mientras que XML se puede representar fácilmente por los medios de hoy sin un javascript.

1

Creo que JSON va a ser el reemplazo de XML. Y no solo Javascript, sino que todos los lenguajes populares van a ser compatibles con JSON de forma nativa. Si es así, piense en los reemplazos XSLT/XPATH de JSON. Alguien lo hará pronto.

Cuestiones relacionadas