我在我的应用程序中使用 dom 解析器。所以。我有下一个情况:
XML:
<test>
<A>
<B>hello</B>
world
</A>
</test>
代码:
private TagA parseTagA(Node node) {
TagA tagA = new TagA();
if (node.hasChildNodes()) {
NodeList childList = node.getChildNodes();
for (int i = 0; i < childList.getLength(); i++) {
// gets child
Node child = childList.item(i);
// parse <B> tag
if (child != null && "B".equals(child.getNodeName())) {
tagA.setTagB(parseTagB(child));
}
}
}
String tagABody = node.getTextContent();
tagA.setBody(tagABody);
return tagA;
}
我使用 node.getTextContent() 方法来获取标签 A 的值,但我也得到标签 B 的值。我的意思是“tagABody”的值是“hello world”,但应该只是“world”。方法 getNodeValue() 返回 null,我猜是因为节点类型是 ELEMENT_NODE。无论如何我有一个问题:我如何才能获得标签 A 的价值,只有“世界”?谢谢。