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 表达式

转载于:https://www.cnblogs.com/lovelp/p/dom4j.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值