length for examples ejemplos javascript jquery xml namespaces

javascript - for - jquery length string



AnĂ¡lisis XML con espacios de nombres usando jQuery $(). Find (3)

Ese no es solo un nombre de elemento ordinario. Ese es un nombre calificado, lo que significa que es un nombre que se refiere específicamente a un tipo de elemento dentro de un espacio de nombres. El nombre del tipo de elemento es ''lat'', y el prefijo de espacio de nombre es ''geo''.

En este momento, jQuery no puede tratar los espacios de nombres muy bien, vea el error 155 para más detalles.

En este momento, como solución alternativa, debe poder seleccionar estos elementos solo con el nombre local:

$(this).find("lat").text();

Si tiene que distinguir entre tipos de elementos con el mismo nombre local, puede usar filter() :

var NS = "http://example.com/whatever-the-namespace-is-for-geo"; $(this).find("lat").filter(function() { return this.namespaceURI == NS; }).text();

Editar: mi error, tenía la impresión de que el parche ya había aterrizado. Use la sugerencia de Adam para el selector y filter() si también necesita el espacio de nombres:

var NS = "http://example.com/whatever-the-namespace-is-for-geo"; $(this).find("geo//:lat").filter(function() { return this.namespaceURI == NS; }).text();

Intento obtener el contenido de un elemento de documento XML, pero el elemento tiene dos puntos en su nombre.

Esta línea funciona para cada elemento, excepto los que tienen dos puntos en el nombre:

$(this).find("geo:lat").text();

Supongo que el colon necesita escapar. ¿Cómo puedo solucionar esto?


Use una barra diagonal inversa, que a su vez debería escaparse para que JavaScript no la consuma:

$(this).find("geo//:lat").text();


si tienes un problema con el selector jquery con Chrome o Webkit no seleccionándolo, prueba

$(this).find(''[nodeName=geo:lat]'').text();

de esta manera funciona en todos los navegadores