la expresión XPath única para conseguir algunos atributos
-
09-10-2019 - |
Pregunta
Tengo un documento XML con algunos nodos como
<node name="xxx" id="xxx">
¿Puedo utilizar una sola expresión XPath para obtener todos los nodos atributo cuyo padre tiene también atrtribute @id = 7
?
Solución
No. Usted tendrá que definir qué atributo para leer -. Uno por uno
/node[@id=7]/@name
obtendrá la name
/node[@id=7]/@id
obtendrá la id
etc.
Otros consejos
Uso
//@*[not(name()='id') and ../@id = 7]
Esto selecciona todos los atributos no-id cuyo padre tiene un atributo con el valor id
el número 7
. Esto aceptará id='7'
y id=' 7 '
//@*[not(name()='id') and ../@id = '7']
Esto selecciona todos los atributos no-id cuyo padre tiene un atributo con el valor de la id
'7'
cadena. Esto aceptará id='7'
pero no id=' 7 '
Esto seleccionará todos id
atributo los nodos que tienen el valor de 7:
//*/@id[. = '7']
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow