espressione XPath singolo per ottenere alcuni attributi
-
09-10-2019 - |
Domanda
Ho un documento XML con alcuni nodi come
<node name="xxx" id="xxx">
È possibile utilizzare una sola espressione XPath per ottenere tutti i nodi attributo il cui genitore ha anche atrtribute @id = 7
?
Soluzione
No. Sarà necessario definire quale attributo di leggere -. Uno per uno
/node[@id=7]/@name
otterrà il name
/node[@id=7]/@id
otterrà il id
ecc.
Altri suggerimenti
Usa :
//@*[not(name()='id') and ../@id = 7]
questo seleziona tutti gli attributi non-id cui genitore ha un attributo id
con il valore del numero 7
. questo accetterà id='7'
e id=' 7 '
//@*[not(name()='id') and ../@id = '7']
questo seleziona tutti gli attributi non-id cui genitore ha un attributo id
con il valore '7'
stringa. Questo accetterà id='7'
ma non id=' 7 '
Questo selezionerà tutte id
di attributo nodi che hanno il valore di 7:
//*/@id[. = '7']
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow