我正在处理一个DomDocument,它基本上是SOAP Web服务的XML结果。 为了给你一个想法,这就是它的样子
...<ParentNode><ChildNode><output><escaped<string</ChildNode></ParentNode>...
是的,ChildNode的值是一个已输出转义的字符串,是在此XML中打包的XML。我通常运行DomDocument处理,例如
NodeList rows = dom.getElementsByTagName(ChildNode);
for(int i=0;i<rows.length;i++)
{
System.out.println(rows[i].getParentNode()); // returns ParentNode
System.out.println(rows[i].getNodeName()); // returns ChildNode
System.out.println(rows[i].getNodeValue()); // returns null
}
在检查上面的代码之后,您意识到即使节点为ParentNode和NodeName节点返回正确的值,它也会在访问getNodeValue()时返回null值。这里有一个字符串,我可以在我的控制台输出中看到它。但是我不确定我在这里缺少什么技巧,输出是否会以任何特定的方式混乱?
谢谢, 帕里贾特
答案 0 :(得分:48)
你想要getTextContent()
而不是getNodeValue()
- 后者总是为元素节点返回null。
答案 1 :(得分:0)
而不是
rows[i].getNodeValue()
使用
rows[i].getNodeValue().getChildNodes().item(0).getNodeValue()