为什么DOM Document在实际有效时显示为null?

时间:2014-02-13 18:12:55

标签: java xml dom

在我的一个方法中,我实例化了一个DOM org.w3c.dom.Document,并且似乎已经正确初始化了,因为当我使用它转储它时:

LOG.info("DOM: " + doc.getDocumentElement().getTextContent());

它输出应该存在的SOAP消息的有效和当前内容。

但在(之后)之前只有一个声明,它显示为null

LOG.info("doc BEFORE = " + doc);
LOG.info("DOM: " + doc.getDocumentElement().getTextContent());
LOG.info("doc AFTER: = " + doc);

他们都显示null,其中有效内容

这对我没有意义......我错过了什么?


根据评论中的建议进行更新:我将日志语句更改为

LOG.info("doc BEFORE/AFTER = " + doc + ", " + doc.toString() + ", " + (doc==null));

输出是:

  

INFO:doc BEFORE = [#document:null],[#document:null],false

因此我得出结论,@ qqilihq是对的:doc不是null,但是doc.toString()是。

1 个答案:

答案 0 :(得分:3)

我打赌@qqilihq有正确的想法。执行System.out.println(doc.getClass());,然后谷歌查看它打印出来的实现Document的类的源代码。找到源代码后,请查找toString()方法。我敢打赌它只是回归null