没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
学习: Dom4j
1、DOM4J 简介
DOM4J 是 dom4j.org 出品的一个开源 XML 解析包。DOM4J 应用于 Java 平台,采用了
Java 集合框架并完全支持 DOM,SAX 和 JAXP。
DOM4J 使用起来非常简单。只要你了解基本的 XML-DOM 模型,就能使用。
Dom:把整个文档作为一个对象。
DOM4J 最大的特色是使用大量的接口。它的主要接口都在 org.dom4j 里面定义:
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 表达式
接口之间的继承关系如下:
interface java.lang.Cloneable
interface org.dom4j.Node
interface org.dom4j.Attribute
interface org.dom4j.Branch
interface org.dom4j.Document
interface org.dom4j.Element
interface org.dom4j.CharacterData
interface org.dom4j.CDATA
interface org.dom4j.Comment
interface org.dom4j.Text
interface org.dom4j.DocumentType
interface org.dom4j.Entity
interface org.dom4j.ProcessingInstruction
2、XML 文档操作 1
2.1、读取 XML 文档:
读写 XML 文档主要依赖于 org.dom4j.io 包,有 DOMReader 和 SAXReader 两种方式。
因为利用了相同的接口,它们的调用方式是一样的。
public static Document load(String 5lename) {
Document document = null;
try {
SAXReader saxReader = new SAXReader();
document = saxReader.read(new File(5lename)); //读取 XML 文件,获得 document
对象
} catch (Exception ex) {
ex.printStackTrace();
}
return document;
}
或
public static Document load(URL url) {
Document document = null;
try {
SAXReader saxReader = new SAXReader();
document = saxReader.read(url); //读取 XML 文件,获得 document 对象
} catch (Exception ex) {
ex.printStackTrace();
}
return document;
}
//读取指定的 xml 文件之后返回一个 Document 对象,这个对象代表了整个 XML 文档,用于
各种 Dom 运算。执照 XML 文件头所定义的编码来转换。
2.2、获取根节点
根节点是 xml 分析的开始,任何 xml 分析工作都需要从根开始
Xml xml = new Xml();
Document dom = xml.load(path + "/" + 5le);
Element root = dom.getRootElement();
2.3、. 新增一个节点以及其下的子节点与数据
Element menuElement = root.addElement("menu");
Element engNameElement = menuElement.addElement("engName");
engNameElement.setText(catNameEn);
Element chiNameElement = menuElement.addElement("chiName");
chiNameElement.setText(catName);
2.4、 写入 XML 文件
注意文件操作的包装类是乱码的根源
public static boolean doc2XmlFile(Document document, String
5lename) {
boolean @ag = true;
try {
XMLWriter writer = new XMLWriter( new OutputStreamWriter(new
FileOutputStream(5lename),"UTF-8"));
writer.write(document);
writer.close();
} catch (Exception ex) {
@ag = false;
ex.printStackTrace();
剩余11页未读,继续阅读
资源评论
saysocool
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功