XML
最初に、あなたが有効ではないことに気付きました。
XML が次のようになっているとします。
XML:
<Root>
<SubOne>
<book author="george"/>
<indiv name="abc"/>
<indiv name="khh"/>
<indiv name="ioo"/>
</SubOne>
<SubTwo>
<book author="hamle"/>
<indiv name="kok"/>
<indiv name="ppp"/>
</SubTwo>
</Root>
XPATH:
には@author='george'
、次の XPATH を使用します。
//*[book[@author='george']]/indiv
には@author='hamle'
、次の XPATH を使用します。
//*[book[@author='hamle']]/indiv
両方の XPATH で、名前を出力するには@name
ジャワ:
Java を使用して、両方の xpath に対してこの方法を実装する必要があります
について@author='george'
は、
String xpath = "//*[book[@author='george']]/indiv";
NodeList nl = (NodeList) xpath.evaluate(xpath, xml, XPathConstants.NODESET);
for (int i = 0; i < nodes.getLength(); i++) {
System.out.println(nodes.item(i).getAttributes().getNamedItem("name").getNodeValue());
}
について@author='hamle'
は、
String xpath = "//*[book[@author='hamle']]/indiv";
NodeList nl = (NodeList) xpath.evaluate(xpath, xml, XPathConstants.NODESET);
for (int i = 0; i < nodes.getLength(); i++) {
System.out.println(nodes.item(i).getAttributes().getNamedItem("name").getNodeValue());
}