的元素名称获取XML值
问题描述:
我怎样才能通过属性获取XML值以下XML:的元素名称获取XML值
我曾尝试:
String xml = "<Info><document><document>234doc</document></document></Info>";
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder()
.parse(new InputSource(new StringReader(xml)));
NodeList errNodes = doc.getElementsByTagName("error");
if (errNodes.getLength() > 0) {
Element err = (Element)errNodes.item(0);
} else {
Node value = doc.getElementsByTagName("document").item(0);
out.println(value);
}
我要找的输出:“234doc”。但我不确定如何获得价值。任何人都可以请建议吗?
答
这不是火箭科学。你应该调试你的代码,探索你可能已经知道的类(Document,NodeList,Node,Element),并理解你的xml结构(更多信息请看here)。实现你的结果的一种方法是:
System.out.println(doc.getChildNodes().item(0).getTextContent());
这里值得用你的术语来精确 - 你根本没有任何属性。你正试图通过它的*元素名*来获取元素的值。现在,你现在看到了什么?请注意,你只是在检查第一个'document'元素,而你在另一个里面有两个。 –
@JonSkeet编辑了我的标题..我如何通过元素获得价值? – Stack
你读过我评论的其余部分了吗?首先,我专注于获得正确的元素。那么'Node.getTextContent()'可能是你的朋友...... –