zoukankan      html  css  js  c++  java
  • Dom4J总结

    1、前言

        虽然现在很多场合都转向了json,但是解析xml还是会在很多场合用上。

    2、node和element的区别

    1、element:   

        元素是一个小范围的定义,必须是含有完整信息的结点才是一个元素 例如<div>...</div>。
    但是一个结点不一定是一个元素,而一个元素一定是一个结点。

    2、node:    

        node是相对tree这种数据结构而言的。tree就是由node组成。这个部分你可以参考离散数学的树图。
    element则是XML里的概念,<xxx>就是元素,是XML中的数据的组成部分之一。

    3、dom4j API

    DocumentHelper类中有: 

    (1)Document document = DocumentHelper.createDocument();//创建一个document对象,通常用于新建一个xml文档

    (2)Element element = DocumentHelper.createElement();//创建一个element对象,即创建一个标签

    (3)Document document = DocumentHelper.parseText(String xml);//将xml字符串转换成以document为根节点的DOM树

    SAXReader类中有: 

    (1)SAXReader reader = new SAXReader();

    (2)Document document  = reader.read(new File("1.xml"));//读取并解析1.xml文档,并返回document

    Document类中有: 

    (1)String text = document.asXML(Document);  //将一颗DOM树转为XML字符串

    (2)Element root = document.getRootElement();  //获得根节点

    Element中有: 

    (1)Element newelem = elem.addElement("child");  //加入名为child的子标签,并返回此element

    (2)newelem.addAttribute("name","value");  //标签添加一个属性

    (3)newelem.addText("xxxx"); //为标签添加一个标签值

    (4)newelem.getText(); //获得标签的标签值

    (5)String value = newelem.attributeValue("name");//获得标签的属性值

    (6)Iterator iter = newelem.attributeIterator() ;//标签的属性迭代器

    (7)List childs = newelem.elements(); //获得标签的全部子元素

    (8)Element child = newelem.element("name");  //获得标签的子标签中的多个<name>标签中的第一个元素

    (9)List childs = newelem.elements("name");  //获得标签的子标签中的全部<name>标签

    (10)newelem.remove(elem); //删除elem标签

    XMLWriter类中有: 

    (1)XMLWriter writer = new XMLWriter(OutputStream out,OutputFormat format);

    (2)writer.write(document); //输出document

    (3)writer.close(); //关闭XMLWriter流

    OutputFormat类中有: 

    (1)OutputFormat format = OutputFormat.createPrettyFormat();//输出时排版整齐

    (2)OutputFormat format = OutputFormat.createCompactFormat();//输出时排版紧实

    (3)format.setEncoding("UTF-8"); //设置<?xml    ?>中的encoding属性,默认为UTF-8

    Attribute类中有: 

    (1)attr.setValue("value"); //设置属性

    (2)String value = attr.getValue();

    4、表格汇总

    Attribute

    定义了 XML 的属性。

    Branch

    指能够包含子节点的节点。如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为

    CDATA

    定义了 XML CDATA 区域

    CharacterData

    是一个标识接口,标识基于字符的节点。如CDATA,Comment, Text.

    Comment

    定义了 XML 注释的行为

    Document

    定义了XML 文档

    DocumentType

    定义 XML DOCTYPE 声明

    Element

    定义XML 元素

    ElementHandler

    定义了Element 对象的处理器

    ElementPath

    被 ElementHandler 使用,用于取得当前正在处理的路径层次信息

    Entity

    定义 XML entity

    Node

    为dom4j中所有的XML节点定义了多态行为

    NodeFilter

    定义了在dom4j 节点中产生的一个滤镜或谓词的行为(predicate)

    ProcessingInstruction

    定义 XML 处理指令

    Text

    定义 XML 文本节点

    Visitor

    用于实现 Visitor模式

    XPath

    在分析一个字符串后会提供一个 XPath 表达式

  • 相关阅读:
    mongo 查询某个字段的值不为空列表!
    pdftohtml的使用
    Activiti数据库表结构(表详细版)
    ElasticSearch在linux上安装部署
    构建Spring Web应用程序—关于spring中的validate注解后台校验的解析
    构建Spring Web应用程序—SpringMVC详解
    高级装配—运行时注入
    高级装配—bean的作用域
    高级装配—条件化的Bean
    高级装配—配置profile bean
  • 原文地址:https://www.cnblogs.com/lovelp/p/dom4j.html
Copyright © 2011-2022 走看看