您的位置:首页 > 其它

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

2016-07-30 16:09 309 查看
  初学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对象中。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: