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

问题描述

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);

时间: 2024-09-15 01:39:51

dom-Java使用DOM方式解析XML,返回的Document对象为null的相关文章

Android网络之数据解析----SAX方式解析XML数据

[正文] 一.XML和Json数据的引入: 通常情况下,每个需要访问网络的应用程序都会有一个自己的服务器,我们可以向服务器提交数据,也可以从服务器获取数据.不过这个时候就有一个问题,这些数据是以什么格式在网络上传输的呢?一般我们都会在网络上传输一些格式化后的数据,这种数据会有一定的结构规格和语言,当另一方受到数据消息后就可以按照相同的结构规格进行解析,从而取出它想要的那部分内容. 在网络上传输数据最常用的格式:XML和Json.本文就来学习一下XML数据的解析,Json格式的数据解析将在下一篇文

java中使用sax解析xml的解决方法_java

在java中,原生解析xml文档的方式有两种,分别是:Dom解析和Sax解析 Dom解析功能强大,可增删改查,操作时会将xml文档以文档对象的方式读取到内存中,因此适用于小文档 Sax解析是从头到尾逐行逐个元素读取内容,修改较为不便,但适用于只读的大文档 本文主要讲解Sax解析,其余放在后面 Sax采用事件驱动的方式解析文档.简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(Dom可来来回回读取) 在看电影的过程中,每遇到一个情节,一段泪水,一次擦肩,你都会调动大脑和神经去接收或

Android基于Pull方式解析xml的方法详解

本文实例讲述了Android基于Pull方式解析xml的方法.分享给大家供大家参考,具体如下: Pull解析和Sax解析很相似,都是轻量级的解析,在Android的内核中已经嵌入了Pull,所以我们不需要再添加第三方jar包来支持Pull. Pull解析和Sax解析不一样的地方有: (1)pull读取xml文件后触发相应的事件调用方法返回的是数字 (2)pull可以在程序中控制想解析到哪里就可以停止解析. 来看看实例: book.xml如下: <?xml version="1.0"

Android中使用PULL方式解析XML文件深入介绍_Android

一.基本介绍 Android中极力推荐xmlpull方式解析xml. xmlpull不仅可用在Android上同样也适用于javase,但在javase环境中需自己获取xmlpull所依赖的类库,kxml2-2.3.0.jar,xmlpull_1_1_3_4c.jar. jar包下载网址 http://www.xmlpull.org/ http://kxml.sourceforge.net/ 二.例子 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 E

用dom4j解析XML的时候[Document: name null]

问题描述 用dom4j解析XML的时候[Document: name null] 补充: StringXML = "<?xml version="1.0" encoding="UTF-8"?>10019807752138114538203547650510236870>"; Document document = null; try { //这个StringXML 是一个 document = DocumentHelper.pa

Java眼中的XML--文件读取--1 应用DOM方式解析XML

初次邂逅XML: 需要解析的XML文件: 这里有两个book子节点. 1.如何进行XML文件解析前的准备工作,另外解析先获取book节点. 这个我后来看懂了: 这个Node的ELEMENT_NODE=1和上面是一样的. 2.使用DOM解析XML文件的属性名和属性值(分两种情况) 第一种,当属性个数是1-N个的时候: 1 public class DOMTest { 2 3 public static void main(String[] args) { 4 DocumentBuilderFact

Android应用中使用DOM方式解析XML格式数据的基本方法_Android

DOM比SAX更容易掌握,因为她没有涉及回调和复杂的状态管理,然而,DOM的实现常常将所有的XML节点保存在内存中,这样使的处理较大的文档效率低. XML基本的节点类型 node - DOM基本的数据类型 Element - 最主要处理的对象是Element Attr - 元素的属性 Text - 一个Element 或者Attr的实际内容 Document - 代表整个XML文档,一个Document对象通常也称为一颗DOM树   1.在src目录下新建一个android.xml <?xml

Android应用中使用DOM方式解析XML格式数据的基本方法

DOM比SAX更容易掌握,因为她没有涉及回调和复杂的状态管理,然而,DOM的实现常常将所有的XML节点保存在内存中,这样使的处理较大的文档效率低. XML基本的节点类型 node - DOM基本的数据类型 Element - 最主要处理的对象是Element Attr - 元素的属性 Text - 一个Element 或者Attr的实际内容 Document - 代表整个XML文档,一个Document对象通常也称为一颗DOM树   1.在src目录下新建一个android.xml <?xml

Java眼中的XML--文件读取--2 应用SAX方式解析XML

1.获取一个SAXParserFactory的实例.2.通过factory获取SAXParser实例. 3.新建一个包和继承自DefaultHandler的类. 因为SAX遍历方式,比如便利一个节点<a></a>是需要startHandler便利起始标签<a>,还需要endHandler便利结束标签</a>. 4.将XML文件路径和SAXParserHandler实例对象作为 SAXParser对象 的参数使用.然后运行验证执行初始情况. 5.在SAXPar