DOM文档getNodeValue()返回null(包含一台输出转义字符串)(DOMDocument

2019-06-28 08:56发布

我在处理一个DOMDocument这基本上是一个SOAP Web服务的XML结果。 为了给你一个想法,这是什么样子

...<ParentNode><ChildNode>&lt;output&gt;&lt;escaped&lt;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和节点名节点正确的价值观,它在访问getNodeValue返回空值()。 有一个字符串在这里,我可以看到它在我的控制台输出。 但我不知道我错过了什么伎俩在这里,并在输出转义搞砸了在任何特定的方式?

谢谢,帕里贾特

Answer 1:

你想getTextContent()而不是getNodeValue() -后者总是返回null元素节点。



Answer 2:

代替

rows[i].getNodeValue()

使用

rows[i].getNodeValue().getChildNodes().item(0).getNodeValue()


文章来源: DOMDocument getNodeValue() returns null (contains an output escaped string)