Tengo un nodo en un archivo XML para el que necesito seleccionar. Para seleccionar, tengo que mirar uno de los valor del elemento. Una vez seleccionado, luego organizaré que el nodo completo se elimine del archivo.

Tenemos un marco que se ocupa de la selección de nodos, sin embargo, actualmente recibo el siguiente error: Expression must evaluate to a node-set.

Todo el marco se realiza en el XMlelement y XPath, y utiliza lo que parece ser una función definida llamada .selectNode(xPath) para encontrar el nodo. Esto es lo que arroja el error anterior.

Mi conjunto de datos XML (que es el XMLelement) se ve así:

<topParent value1="a" value2 = "b">
     <att1 value3="c" value4 = "d">
        <myline data="e" moredata="f" />
        <myline data="g" moredata="h" />
     </att1>
</topParent>

Y mi xpath para seleccionar parece: //myline/[@moredata='h']

La idea es seleccionar el nodo "Myline" cuando "Moredata" es igual a H

Solo he encontrado XPath en las últimas horas, pero no puedo ver por qué este nodo no está siendo seleccionado.

0
Aiden 25 jun. 2019 a las 20:00

1 respuesta

La mejor respuesta

No deberías poner una barra antes de un predicado. Es una sintaxis equivocada.
Solo usa

//myline[@moredata='h']

Para seleccionar todos los elementos myline que satisfacen la condición.

2
zx485 25 jun. 2019 a las 17:16