在我的一个方法中,我实例化了一个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()是。
答案 0 :(得分:3)
我打赌@qqilihq有正确的想法。执行System.out.println(doc.getClass());
,然后谷歌查看它打印出来的实现Document
的类的源代码。找到源代码后,请查找toString()
方法。我敢打赌它只是回归null
。