我正在处理一个 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() 时也会返回一个空值。这里有一个字符串,我可以在控制台输出中看到它。但我不确定我在这里缺少什么技巧,输出转义是否以任何特定方式搞砸了?
谢谢, 帕里贾特
最佳答案
你想要 getTextContent()
而不是 getNodeValue()
- 后者总是为元素节点返回 null。
关于java - DOMDocument getNodeValue() 返回 null(包含输出转义字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12413450/