SSM框架-Spring 获取对象原理

Spring 获取对象原理

1.Dom4j的基本使用

Dom4j是一个易于使用的开源库,用于Java平台,采用了Java集合框架并完全支持 DOM , SAX , JAXP

注意:使用Dom4j前我们需要先去官网下载Dom4j包,下载地址

Dom4j中,获得Document对象的方式有三种:

  1. 读取XML文件,获得document对象;(常用)
  2. 解析XML形式的文本,得到document对象;
  3. 主动创建document对象。
    1
    2
    3
    4
    <!--Info.xml-->
    <students>
    <student name="Mary">大家好,我是Mary</student>
    </students>
    SAX是一种XML解析的替代方法。相比于DOMSAX是一种速度更快,更有效的方法:
    1
    2
    3
    4
    5
    6
    7
    SAXReader reader = new SAXReader();
    //解析文档这里需要抛出DocumentException异常。
    try {
    Document document = reader.read(new File("Info.xml"));
    } catch (DocumentException e) {
    e.printStackT\frace();
    }

节点对象的操作

当我们取得Document对象后,我们就可以获取它的每一个节点了。

  1. 获取文档的根节点
    1
    2
    //读取后的第二步,就是得到 Root节点。一切XML分析都是从Root元素开始的
    Element rootElm = document.getRootElement();
  2. 获取某节点的单个子节点
    1
    Element elm=rootElm.element("student");
  3. 获取某节点的所有子节点元素
    1
    List<Element> elms=rootElm.elements("student");
  4. 获取某节点的内容
    1
    2
    3
    4
    5
    //获取节点内容有两种方式:
    //通过元素获取
    String text=document.getRootElement().element("student").getText();
    //通过根节点直接获取元素内容
    String elementText=document.getRootElement().elementText("student");
    以上两种方式输出结果均为:大家好,我是Mary

节点对象的属性方法操作

  1. 取得某节点下的某属性
    1
    2
    Element rootElement = saxRead.getRootElement().element("student");
    Attribute attribute = rootElement.attribute("name");
  2. 取得某节点属性的内容
    1
    2
    3
    4
    5
    6
    //获取节点属性内容也有两种方式:
    Element element = document.getRootElement().element("student");
    //通过节点属性获取内容
    String text = element.attribute("name").getText();
    //通过元素获取内容
    String attributeValue = element.attributeValue("name");
    以上两种方式输出结果均为:Mary

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!