Java使用DOM方式解析XML,返回的Document对象为null

        // 1、创建一个DocumentBuilderFactory
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        System.out.println("dbf:"+dbf);
        // 2、创建DocumentBuilder
        try {
            DocumentBuilder db = dbf.newDocumentBuilder();
            System.out.println("db:"+db);
            // 3、通过DocumentBuilder对象解析器,使用parse()的多个重载方法就可以解析xml了
            File file = new File("books.xml");
            System.out.println(file.exists()); //true
            Document document = db.parse("books.xml");
            System.out.println(document); //[#document: null]
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

输出结果如下:
dbf:com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl@22e3ac
db:com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl@10f3bd7
true
[#document: null]
明明这个xml文件存在,解析出的Document就是null??

File file = new File("books.xml");
db.parse(file);

这个不是空节点,它没有实现tostring方法,所以调试为显示为空,它实际是可以获取xml元素的。