【发布时间】:2015-10-26 12:54:38
【问题描述】:
我正在尝试解析从 web 下载的 java 中的 xml,遵循此处 (stackoverflow) 和其他来源的示例。
首先我将 xml 打包成一个字符串:
String xml = getXML(url, logger);
如果我此时打印出 xml 字符串:
System.out.println("XML " + xml);
我得到了 xml 的打印输出,所以我假设到目前为止没有错误。 然后我尝试创建一个我可以评估的文档:
InputSource is= new InputSource(new StringReader(xml));
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(is);
如果我在这里打印文档:
System.out.println("Doc: " + doc);
我得到: 文档:[#document: null]
当我稍后尝试使用 Xpath 评估表达式时,我得到 java.lang.NullPointerException 并且当我试图获取根的长度时:
System.out.println("Root length " + rootNode.getLength());
这让我相信文档(以及后来的节点)确实为空。
当我尝试打印输入源或我得到的节点时。
输入源:org.xml.sax.InputSource@29453f44
我不知道如何解释。
谁能看到我做错了什么或提出前进的方向? 提前致谢。
【问题讨论】: