try {
String data = "<a><b c='d' e='f'>0.15</b></a>";
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory
.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(data));
Document document = documentBuilder.parse(is);
NodeList nl = document.getElementsByTagName("b");
Node n = (Node) nl.item(0);
System.out.println(n.getNodeValue());
} catch (Exception e) {
System.out.println("Exception " + e);
}
0.15を印刷すると予想されますが、nullが出力されます。何か案は?DOMを使用してノード値を取得するJava XML解析
編集:このトリック
if (n.hasChildNodes())
System.out.println(n.getFirstChild().getNodeValue());
else
System.out.println(n.getNodeValue());
@mkal - 私はちょうど出力に代わり、テキストインスタンスののnodeValueを編集しましたの! – karim79