Tengo un XPath para seleccionar una clase que quiero: //div[@class='myclass']
. Pero me devuelve todo el div (con la <div class='myclass'>
también, pero me gustaría volver sólo el contenido de esta etiqueta sin la etiqueta en sí. ¿Cómo puedo hacerlo?¿Cómo obtener el valor de nodo/innerHTML con XPath?
Respuesta
Con xpath, lo último que se devuelve es la última cosa en la ruta que no es una condición. ¿Qué significa? Bueno, las condiciones son el material entre []
(pero usted ya lo sabía) y el suyo se lee como pathElement [que tiene un atributo 'clase' con el valor 'mi clase']. hElement viene directamente antes del [
.
Todo el material fuera de []
's es entonces la trayectoria, por lo que en //a/b/c[@blah='bleh']/d
un, b, c y d son todos los elementos de trayecto, bla es un atributo y bleh un valor literal. Si esta ruta coincide, le devolverá un d, la última condición de no condición.
Su ruta particular devuelve una (serie de) div, siendo lo último en la ruta de su xpath. Este valor de retorno incluye los nodos de nivel superior, div en su caso, y debajo de ellos (todos) sus (sus) hijos. Los nodos pueden ser elementos o texto (o comentarios, instrucciones de procesamiento, ...).
Debajo de un nodo puede haber múltiples nodos de texto, por lo tanto, la matriz pOcHa habla. x/text()
devuelve todo el texto que es un hijo directo de x, x/node()
devuelve todos los nodos secundarios, incluyendo texto.
Espero que esto ayude.
node() = innerXml
text() = innerText
tanto son matrices, por lo que el texto () [1] es un primer nodo de texto secundario ...
Usted puede intentar
// div [@ class = 'miclase']/child :: *
child :: * selecciona todos los elementos hijos del nodo de contexto see details
nueva respuesta a una vieja pregunta, las preguntas más frecuentes:
Para este XML
<div class="myclass">content</div>
puede utilizar XPath para seleccionar sólo content
en una de dos maneras:
Selección Nodo de texto
Este XPath,
//div[@class='myclass']/text()
seleccionará los elementos del nodo de texto del elemento
div
segmentado,content
, según lo solicitado.cadena valor de un elemento
Este XPath,
string(//div[@class='myclass'])
regresará string-value del
div
elemento apuntado,content
, de nuevo a lo solicitado.Más información: Aquí hay una note explicar los cuerda valores de elementos:
El string-value de un nodo elemento es la concatenación de los string-value s de todo nodo de texto descendants del elemento nodo en orden de documento.
- 1. Obtener el valor de xsi: escriba con xpath
- 2. Valor de nodo dividido con XPath
- 3. ¿Cómo puedo obtener un valor de un par clave/valor xml con xpath en mi xslt?
- 4. XPath para obtener el elemento con el más alto ID
- 5. Obtener un valor de un atributo por XPath y HtmlAgilityPack
- 6. ¿Cómo obtener el valor del atributo con SelectSingleNode?
- 7. XPath: seleccione la etiqueta con el valor vacío
- 8. conseguir cierto valor de atributo mediante XPath
- 9. Obtener elemento de etiqueta de entrada con un valor de texto dado mediante xpath
- 10. Obtener el segundo elemento de texto con XPath?
- 11. expresión XPath que coincide con el valor del atributo "verdadero"
- 12. consulta XPath cómo obtener el valor de un atributo basado en dos atributos
- 13. ¿Cómo puedo obtener el valor de un atributo usando xmllint y XPath?
- 14. XPath para recuperar el valor SQL XML
- 15. obtener la etiqueta meta descripción con xpath
- 16. Obtener el valor de JSON con JSON.NET
- 17. obtener el valor de "onclick" con jQuery?
- 18. ¿Cómo obtener el módulo de un número en XPath/XSLT?
- 19. Cómo obtengo el valor dentro de una etiqueta <td> con xpath/htmlwebunit
- 20. cómo conseguir un valor de nodo en Xpath - Java
- 21. ¿Cómo devolver una matriz con XPath?
- 22. ¿Cómo selecciono un nodo XML con el valor más largo del nodo #texto hijo con XPath?
- 23. Cómo trabajar con el visualizador Xpath
- 24. Cómo obtener el valor de la cadena XML con Node.js
- 25. ¿Cómo obtener el valor de Spinner?
- 26. XPATH Query: ¿Cómo obtener dos elementos?
- 27. XPath para obtener todo el texto en elemento como un valor, eliminando saltos de línea
- 28. XPath test si el valor del nodo es el número
- 29. xpath: ¿Hay alguna manera de obtener todo el texto de los niños en xpath
- 30. php xpath obtener contenido de div con clase
¿Cómo múltiples nodos de texto verá como en XML? ¿Text() devolverá una concatenación de todos los internalTexts que los hijos del nodo seleccionado? – CoDEmanX
@CoDEmanX: '