xml文件读取的4种解析方式(DOM和SAX)

  初学xml文件的解析方式,由四种:DOM,JDOM,DOM4J,SAX。

 其中DOM和SAX这两种解析方式是与平台无关的官方解析方式。

DOM解析方式形成树形结构,容易对内容进行修改。

 DOM解析方式的步骤:

 1、创建一个DocumentBuilderFactory的对象,使用newInstance方法。

 2、创建一个DocumentBuilder对象,通过DocumentBuilder的对象的parse[]方法加载xml文件到当前项目下,如:

       DocumentBuilder db=dbf.newDocumentBuilder();

       Document document=db.parse(uri);

 3、获取xml文件节点的集合。

      NodeList booklist = document.getElementsByTagName(节点名称);

 4、遍历每一个节点

      用foreach方法进行遍历

 5、解析节点的子节点

      NodeList childnode=book.getChildNodes();可用childnode.item(k).getNodeType()==Node.ELEMENT_NODE这个方法进行判断以区分text类型的node以及element类型的node。


SAX适用于只需要处理xml文件中的数据,是基于事件的驱动。

SAX解析方式的步骤:

 1、创建一个SAXParserFactory对象。

       SAXParserFactory factory = SAXParserFactory.newInstance();

 2、创建一个SAXParser对象

      SAXParser parser = factory.newSAXParser();

      通过parse方法加载xml文件。

     parser.parse(xml文件名, handler);此时与DOM的区别是这里需要一个handler。此时需要创建一个handler类。

 3、handler类需要继承 DefaultHandler。

    其中在xml声明时触发startDocument()方法。在遇到开始标签时会触发startElement()方法。

   解析节点元素时可用startElement()方法中地attributes.getQName(i)和attributes.getValue(i)来获得属性名和属性中。

   可在endElement()方法中的set方法将xml的内容和结构存入Java对象中。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值