DOMDocument getNodeValue()返回null(包含输出转义字符串)

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

...<output><escaped<string... 

是的,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值。 这里有一个字符串,我可以在我的控制台输出中看到它。 但我不确定我在这里缺少什么技巧,输出逃逸是否会以任何特定的方式混乱?

谢谢,Parijat

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

代替

 rows[i].getNodeValue() 

使用

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