Xpath: seleccione o nó baseado numa condição (com o nome local())
A pergunta é muito tola, mas estou completamente presa. Quero extrair nódulos de criança de um nó baseado numa condição. O XML é o seguinte:
<a>
<aCode>aaa</aCode>
<aValue>bbb</aValue>
</a>
a expressão é óbvia: //a[aCode='aaa']
mas não consigo perceber como devo mudá-lo se for com espaços de nomes e tenho de usar {[[3]}. Eu testei o seguinte em http://www.xmlme.com/XpathTool.aspx e dá um erro de processamento:
/*[local-name()='a'][[local-name()='aCode']='aaa']
Alguém sabe o que devo fazer?
20
3 answers
Provavelmente quiseste dizer
//*[local-name()='a'][*[local-name()='aCode']='aaa']
40
Author: choroba, 2012-05-30 09:59:39
Tenta isto.
/a/aCode[text()='aaa']
Ou
//*[local-name() = 'aCode' and text() = 'aaa']
Usou //
no local errado.
11
Author: Cylian, 2012-05-30 09:45:16
Este trabalho:
//*[local-name()='a'][*[local-name()='acode' and text()='a2']]
E também este:
//*[local-name()='a'][aCode[text()='a2']]
0
Author: karl368, 2014-08-18 10:26:58