私は何度も試してみましたが、Javaを使用してXMLから値を取得する方法はありませんでした。私はDOMとXpathを使ってみました。助けてください。私はXMLが空ではないことを知っているので、XMLをプリントアウトするためにストリングライターを使用することができます。Javaを使用してXMLで価値を得るには?
Document doc = parseXML(connection.getInputStream());
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
XPath xPath = XPathFactory.newInstance().newXPath();
XPathExpression expr = xPath.compile("/xml_api_reply/weather/current_conditions/temp_f/text()");
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
System.out.println(nodes.item(i).getNodeValue());
}
XMLの内容:
<xml_api_reply version="1">
<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0">
<current_conditions>
<condition data="Clear"/>
<temp_f data="49"/>
<temp_c data="9"/>
</current_conditions>
</weather>
</xml_api_reply>
をnodes
がヌルであるので、それはループのために行かなかったようです。
DOMの周りでタスクを実行するための簡単なヘルパークラスを作成できます。これを参照してくださいhttp://stackoverflow.com/a/8346867/851432 – Jomoos