Dom4J5分钟入门

Dom4j使用

首先我们来了解下目前主流的四种解析xml的技术

  • DOM解析
  优点:
      1.形成了树结构,有助于更好的理解、掌握,且代码容易编写。
      2.解析过程中,树结构保存在内存中,方便修改。
 缺点:
   1、由于文件是一次性读取,所以对内存的耗费比较大。
   2、如果XML文件比较大,容易影响解析性能且可能会造成内存溢出
  • SAX解析
优点:
   1. 采用事件驱动模式,对内存耗费比较小。
   2. 适用于只处理XML文件中的数据时。
缺点:
   1. 编码比较麻烦。
   2. 很难同时访问XML文件中的多处不同数据
  • JDOM解析
优点:
        1是基于树的处理XML的Java API,把树加载在内存中
        2没有向下兼容的限制,因此比DOM简单
        3速度快,缺陷少
        4具有SAX的JAVA规则
    缺点:
        1不能处理大于内存的文档
        2JDOM表示XML文档逻辑模型。不能保证每个字节真正变换。
        3针对实例文档不提供DTD与模式的任何实际模型。
        4不支持与DOM中相应遍历包

今天的主角Dom4j

特征   
     1、JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。
     2、它使用接口和抽象基本类方法。
     3、具有性能优异、灵活性好、功能强大和极端易用的特点。

pom

         
        dom4j  
        dom4j  
        1.6.1  
     

接下来我们来了解下Dom4j的常用API,要想深入了解DOM4J API,请进入传送门

从DOM4J的API可以迅速的上手


总览

废话不多说,开始Demo ps:这是字符串形式的XML


String XML = "\n" +
"1OK10000XXX省XXX市XXX区XXX处中国XXX省XXX市0791XXX区360111XXX处360111482000";


public String toSub(String str) throws DocumentException {
    Document doc = DocumentHelper.parseText(str) ;//从字符串中读取xml
    Element rootElt = doc.getRootElement(); // 获取根节点
    List first = rootElt.elements();
    for (Iterator its = first.iterator(); its.hasNext();) {
        Element e = (Element) its.next();
        List   second = e.elements();
        for (Iterator it = second.iterator(); it.hasNext();) {
            Element t = (Element) it.next();
            return t.getText() ;
        }
    }
    return null ;
}

//从本地加载采用
 Document document = saxReader.read(new File("src/fileName.xml"));  
    Element ele = document.getRootElement(); 

运行这个Demo,可以让你对Dom4j有初步的熟悉
针对各个接口的详细使用,推荐一篇博文传送门

你可能感兴趣的:(Dom4J5分钟入门)