2010-02-13 22 views

Respuesta

3

De acuerdo con w3schools, "Firefox es actualmente el único navegador con un soporte relativamente bueno para E4X".

Puede probar XPath en su lugar. Aunque XPath no es un navegador cruzado, existen varias soluciones de Javascript para él, como this jQuery plugin.

EDITAR

En realidad se podría utilizar jQuery sin un plugin para esto:

$('<xml><some><code>code</code><tag>text</tag></xml></xml>').find('some > code').text() 
10

¿Qué navegadores son compatibles con E4X

Firefox y otros basados ​​en el código base de Mozilla.

¿por qué no es más ampliamente adoptado?

Porque ofrece poca funcionalidad práctica que ya no está cubierta por las normas existentes, como DOM.

OK, es más fácil de usar que DOM, pero como el precio para eso no se tiene acceso a todas las características de XML, y la sintaxis XML literal/plantilla idiota, innecesaria es security disaster, por lo que es incluso los autores de documentos protegidos con htaccess completamente estáticos deben preocuparse de trabajar alrededor de la característica.

Como un método más simple para acceder a los resultados de un XMLHttpRequest, JSON ganó por completo. Para el procesamiento XML completo, aún necesita DOM. Para facilitar el manejo de documentos, existen selectores, bibliotecas XPath y JS que pueden hacerlo sin tener que introducir una nueva sintaxis de lenguaje nuevo.

Eso no deja mucho de un nicho para E4X. TBH Desearía que muriera. (ETA: ahora se ha hecho más o menos así.)

+1

Me he acostumbrado a e4x en flash, y me he estado preguntando por qué no es compatible fuera de Firefox. Gracias y +1. – Amarghosh

+0

E4X es una sintaxis muy útil. La forma en que lo describes argumentaría que RegExp es terrible también. Ellos sirven su propósito. Otra cosa que me molesta desde que estoy despotricando, es ¿por qué solo tiene que haber una forma de hacer las cosas? ¿Por qué no puedo elegir usar XML en lugar de forzarme a usar JSON? Yo uso ambos por cierto. Esto es lo que no me gusta de la comunidad web en este momento. Además, @bobince el enlace al que ha enviado ya no es válido. :( –

+0

Enlace actualizado después del archivo de Google Code. Y sí, creo que la sintaxis JS RegExp literal también fue un error, aunque sin el mismo impacto negativo que tuvo E4X. El problema que tienes sin los literales de expresiones regulares es principalmente la capa adicional de la barra invertida. Al escaparse necesitas colocarlos en un literal de cadena. Otros lenguajes lo han resuelto de una manera más genérica y flexible con el formato literal de cadena 'en bruto'. – bobince

3

Firefox dropped E4X support en la versión 16:

está en desuso E4X. Se desactivará de forma predeterminada para el contenido en Firefox 16, se desactivará de forma predeterminada para Chrome en Firefox 17 y se eliminará en Firefox 18. En su lugar, use DOMParser/DOMSerializer o un algoritmo JXON no nativo.

Cuestiones relacionadas