Opa pessoal, não sabia aonde colocar este tópico, entao vai aki msm (caso esteja no lugar errado, favor redirecionar)
Bom, tenho o seguinte XML exemplo:<?xml version="1.0" ?>
- <no1 name="null">
- <no2s name="H">
<no2 name="B" />
- <no3s name="ACHOU">
<no3 id="B/C" name="C" />
<no3 id="B/OK" name="OK" />
<no3 id="B/BA" name="BA" />
- <no4s>
<no4 id="B/C/D" name="D" />
</no4s>
</no3s>
</no2s>
- </no1>
Então, preciso retornar todos os id de no3, mas q minha busca seja feita a partir do encontro de um nó q tenha name="H".
Para esclarecer, tenho q fazer um XPath procurando o name="H" e a partir dele, exibir todos os id de no3.
Exibir:
id="B/C"
id="B/OK"
id="B/BA"
Element no1Tag = doc.getDocumentElement();
String id = "'H'";
NodeList no2 = XPathAPI.selectNodeList(no1Tag, "//*[@name="+id+"]");
NodeList no3s = (NodeList) no2.item(0).getChildNodes().item(3).getChildNodes();
NodeList no3 = (NodeList) no3s.item(1).getAttributes().getNamedItem("id");
for (int i = 0; i < no3.getLength(); i++) {
System.out.println(">: " + no3 +"\n");
}
Ele encontra o "H" mas retorna somente 1 filho, q é o B/C, como faco para ter um FOR q me traga os outros? (ja percebi q os outros indices é item(3) e item(5), mas tenho q generalizar isso)
Abraço a todos e obrigado