logo

Acerca de

Bienvenido a mi blog, el sitio perfecto para mis inquietudes, experiencias e idas de olla sobre temas de hoy en día.

Historia al azar

Categorías

Últimas entradas

Últimos comentarios

Enlaces

Meta

photo Luis PeraltaEstado Jabber
Ziritione
Castellón Spain
39.997638, -0.064030

Sindica

Sindícame, por cortesía del subliminal Atom.

27 Octubre 2006

Por si a alguien le sirve, que a mí me ha traído de cabeza últimamente... Al utilizar expresiones XPath con dom4j, si éstas tienen namespaces (espacios de nombres, xmlns="xmpp:xxx" ...), hay que usar siempre los prefijos o no funcionarán las búsquedas (al contrario que si usamos DOM pelado).

Para hacerlo tenemos que declarar antes los namespaces y luego usar los prefijos asignados:

Map namespaces = new TreeMap();
namespaces.put("x", "http://xmpp.org/namespaces/xxxx");
DocumentFactory.getInstance().setXPathNamespaceURIs(namespaces);

Y luego tendremos que prefijar todos los elementos de la búsqueda XPath que estén dentro de ese espacio de nombres:

String saan = elem.valueOf("//x:SubAdministrativeAreaName");