私は過去 2 日間、このタスクで立ち往生しており、さまざまな記事で明確な解決策を得ることができませんでした。XMLに存在するXPath値を取得するためのコードを段階的に教えてください。
私のXMLは
<bookstore>
<book>
<int name="sno">1</int>
<str name="author">J K. Rowling</str>
<int name="price">29.99</int>
<str name="subauthor">J K</str>
</book>
<book>
<int name="sno">2</int>
<str name="author">J K. Rowling</str>
<int name="price">29.99</int>
<str name="subauthor">hamilton</str>
</book>
</bookstore>
この XML では、著者、価格、副著者の各値が必要です。私の期待される結果は次のとおりです。
(author-J K. Rowling,price-29.99,subauthor-j k)
そして、この XML からサブオーサーの最後の値を取得する方法。
この値を取得するための Java コードが機能していません。例外のみをスローします。
public gettheXMLvalues() {
try {
NodeList nodeLst1 = doc.getElementsByTagName("doc");
for (int i = 0; i < nodeLst1.getLength(); i++) {
Node node = nodeLst1.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
NodeList nodes = element.getElementsByTagName("//str[@name='author']").item(0).getChildNodes();
node = (Node) nodes.item(0);
System.out.println("ELEMETS " + element.getTextContent());
System.out.println("Author" + node.getNodeValue());
}
} catch(Exception e){
system.out.println("Exception "+e);
}
}
各本の著者、価格、副著者の値を取得するための解決策を教えてください。結果を得るために多くのことを試みましたが、残念ながら結果は得られませんでした。明確な解決策を教えてください。