的元素名称获取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”。但我不确定如何获得价值。任何人都可以请建议吗?

+4

这里值得用你的术语来精确 - 你根本没有任何属性。你正试图通过它的*元素名*来获取元素的值。现在,你现在看到了什么?请注意,你只是在检查第一个'document'元素,而你在另一个里面有两个。 –

+0

@JonSkeet编辑了我的标题..我如何通过元素获得价值? – Stack

+0

你读过我评论的其余部分了吗?首先,我专注于获得正确的元素。那么'Node.getTextContent()'可能是你的朋友...... –

这不是火箭科学。你应该调试你的代码,探索你可能已经知道的类(Document,NodeList,Node,Element),并理解你的xml结构(更多信息请看here)。实现你的结果的一种方法是:

System.out.println(doc.getChildNodes().item(0).getTextContent());