xml解析

1、xml解析就是程序读取xml文件的内容。

2、解析方式有两种,原理不同:(1)DOM解析(2)SAX解析

  dom解析原理:xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document对象树,然后通过Document对象得到树上节点对象,通过节点对象操作XML文档的内容。

3、

DOM解析原理下的工具:

  JAXP(Oracle —Sun官方的)

  JDom(非官方)

  Dom4J(非官方)使用最多,比如三大框架

SAX解析原理:

        1)Sax解析工具(oracle-sun公司官方)

4、使用Dom4J,例子:

  使用步骤:

      (1)导包,复制dom4j-1.6.1.jar到工程,并选择Build Path→Add to build path.

      (2)编写代码读取XML。

public class Demo1 {
    public static void main(String[] args) {
        try {
        //1、创建XML解析器对象
        SAXReader reader = new SAXReader();
        //2、读取XML文档,返回Document对象
            Document document = reader.read(new File("./src/contact.xml"));
            System.out.println(document);
//结果:org.dom4j.tree.DefaultDocument@3ecfff [Document: name file:///D:/JavaEE/spaceone/day6-xml/./src/contact.xml]
} catch (DocumentException e) { e.printStackTrace(); throw new RuntimeException(e); } } }

5、dom4J读取xml文件的一些方法。

节点:  

    Iterator  Element.nodeIterator;//获取当前节点下的所有子节点。

标签:

    Element  Document.getRootElement();//获取XML文档的跟标签

    Element  Element.element("标签名")//指定名称的第一个子标签

    Iterator<Element>  Element.elementItrator("标签名称");//返回指名称的所以子标签

    List<Element>  Element.elements();//获取所有子标签。

属性:

    String     Element.attributeValue("属性名") //获取指定名称的属性值

           Attribute     Element.attribute("属性名");//获取指定名称的属性对象     

                                Attribute.getName()  //获取属性名称

                                Attibute.getValue()  //获取属性值

           List<Attribute>         Element.attributes();  //获取所有属性对象

           Iterator<Attribute>     Element.attibuteIterator(); //获取所有属性对象

文本:

    Element.getText();  //获取当前标签的文本

           Element.elementText("标签名") //获取当前标签的指定名称的子标签的文本内容

 

posted on 2016-11-25 11:55  hgfs瑞  阅读(139)  评论(0编辑  收藏  举报

导航