Así que estoy tratando de analizar algunos de los WootAPI con XPath. Un problema que me estoy encontrando es que un par de elementos tienen dos puntos en su nombre, como woot:price
o woot:condition
. Ahora, tratando de usar el XPath //rss/channel/item/woot:price
no captará el contenido del elemento woot:price
, debido a los dos puntos, creo. ¿Qué puedo hacer para obtenerlo de todos modos?Utilice XPath para analizar el nombre del elemento que contiene dos puntos
6
A
Respuesta
10
Los dos puntos se deben a que los elementos tienen un prefijo de espacio de nombres y están vinculados al espacio de nombres de Woot.
Debe leer en XML namespaces and how they affect XPATH and XSLT.
Si desea hacer referencia a los elementos Woot en su XPATH que o bien necesitar:
- un espacio de nombre Woot
http://www.woot.com/
de manera que cuando se utiliza el prefijo de espacio de nombres en su XPATH se entenderá. - Utilice una declaración XPATH más genérica que use filtros de predicados que usen
local-name()
ynamespace-uri()
para hacer coincidir el elemento.//rss/channel/item/*[local-name()='price' and namespace-uri()='http://www.woot.com/']
Cuestiones relacionadas
- 1. nombre del elemento xml con dos puntos
- 2. Cómo recuperar el valor de un atributo que contiene dos puntos en el nombre del atributo usando xpath
- 3. Elemento XPath que contiene un atributo y el elemento primario de su padre contiene otro atributo
- 4. Consulta de XPath para nodo XML con dos puntos en el nombre de nodo
- 5. XML de análisis: Dos puntos en mi elemento hacen que XPath lo pierda
- 6. Obtener el nombre del elemento principal en XPath
- 7. Usando XPath para analizar un documento XML
- 8. Xpath - Obtiene el elemento HTML si su clase contiene texto
- 9. ¿Puede XPath coincidir en partes del nombre de un elemento?
- 10. Perl, cómo analizar el archivo XML, xpath
- 11. XPath para encontrar más cercana elemento antecesor que contiene un elemento que tiene un atributo con un cierto valor
- 12. XPath consulta para un atributo que contiene barra diagonal (/)
- 13. Soporte XAML para nombre-local() en XPath
- 14. Obtener el nombre del elemento
- 15. El nombre del atributo jQuery contiene
- 16. ¿Cómo se puede usar PowerShell? (punto) notación para recorrer los elementos con puntos en el nombre del elemento?
- 17. Problema con un nombre de columna contiene dos puntos en PostgreSQL
- 18. Analizar xml con lxml - extraer el valor del elemento
- 19. Utilice el comando UNIX JOIN para unir dos archivos
- 20. El uso de recuento XPath() con contiene()
- 21. El nombre completo de la dos puntos dobles en C++
- 22. ¿Está bien tener un nombre de espacio de nombres que exista en dos puntos del árbol?
- 23. englobamiento/expansión nombre de ruta con dos puntos como separador
- 24. XPATH seleccionando el elemento raíz
- 25. XPath para analizar "SRC" de la etiqueta IMG?
- 26. selector jQuery para un elemento que contiene texto directamente?
- 27. Analizando un elemento RSS que tiene dos puntos en la etiqueta con Ruby?
- 28. Utilice Regex/Powershell para cambiar el nombre de los archivos
- 29. Seleccionar elemento en un espacio de nombre con XPath
- 30. En XPath cómo seleccionar el contenido del elemento
1. Conocer cómo hacerlo en Java? 2. Intenté usar ese ejemplo que me proporcionó, y no funcionó. : \ – Chiggins
Tuve un error en el XPATH que había proporcionado (faltaba la "h" en el espacio de nombres de woot uri y no tenía el corchete de cierre). Lo he actualizado Rever. –
Ah, parece que arregló el ejemplo en 2, funciona como magia. :) – Chiggins