- 浏览: 367911 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
云卷云舒灬:
...
Java读取XML配置文件详细总结(dom4j方式) -
ancoa:
多谢博主分享
jQuery实现多选下来框(multiple select) -
aa51513:
图片看不成
java利器---jodd -
wanggang0321:
正在学习中,看完文章了,谢谢写的教程!!!
Tomcat负载均衡和集群环境的搭建 -
yasyas001:
引用
如何实现双(多)语种网站内容的国际化?
版权声明:
本文由冰云完成,首发于CSDN,未经许可,不得使用于任何商业用途。
文中代码部分引用自DOM4J文档。
欢迎转载,但请保持文章及版权声明完整。
如需联络请发邮件:icecloud(AT)sina.com
|
Attribute定义了XML的属性
|
|
Branch为能够包含子节点的节点如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为,
|
|
CDATA 定义了XML CDATA 区域
|
|
CharacterData是一个标识借口,标识基于字符的节点。如CDATA,Comment, Text.
|
|
Comment 定义了XML注释的行为
|
|
定义了XML文档
|
|
DocumentType 定义XML DOCTYPE声明
|
|
Element定义XML 元素
|
|
ElementHandler定义了 Element 对象的处理器
|
|
被 ElementHandler
使用,用于取得当前正在处理的路径层次信息
|
|
Entity定义 XML entity
|
|
Node为所有的dom4j中XML节点定义了多态行为
|
|
NodeFilter 定义了在dom4j节点中产生的一个滤镜或谓词的行为(predicate)
|
|
ProcessingInstruction 定义 XML 处理指令.
|
|
Text 定义XML 文本节点.
|
|
Visitor 用于实现Visitor模式.
|
|
XPath 在分析一个字符串后会提供一个XPath 表达式
|
-
-
- interface org.dom4j.CharacterData
- interface org.dom4j.DocumentType
- interface org.dom4j.Entity
- interface org.dom4j.ProcessingInstruction
-
// 从文件读取XML,输入文件名,返回XML文档
public
Document read(String fileName) throws
MalformedURLException, DocumentException {
SAXReader reader = new
SAXReader();
Document document = reader.read(new
File(fileName));
return
document;
}
|
public
Element getRootElement(Document doc){
return
doc.getRootElement();
}
|
// 枚举所有子节点
for
( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
// do something
}
// 枚举名称为foo的节点
for
( Iterator i = root.elementIterator(foo); i.hasNext();) {
Element foo = (Element) i.next();
// do something
}
// 枚举属性
for
( Iterator i = root.attributeIterator(); i.hasNext(); ) {
Attribute attribute = (Attribute) i.next();
// do something
}
|
public
void
treeWalk() {
treeWalk(getRootElement());
}
public
void
treeWalk(Element element) {
for
(int
i = 0, size = element.nodeCount(); i < size; i++) {
Node node = element.node(i);
if
(node instanceof
Element) {
treeWalk((Element) node);
} else
{ // do something....
}
}
}
|
public
class
MyVisitor extends
VisitorSupport {
public
void
visit(Element element){
System.out.println(element.getName());
}
public
void
visit(Attribute attr){
System.out.println(attr.getName());
}
}
调用: root.accept(new MyVisitor())
|
public
void
bar(Document document) {
List list = document.selectNodes( //foo/bar );
Node node = document.selectSingleNode(//foo/bar/author);
String name = node.valueOf( @name );
}
|
public
void
findLinks(Document document) throws
DocumentException {
List list = document.selectNodes( //a/@href );
for
(Iterator iter = list.iterator(); iter.hasNext(); ) {
Attribute attribute = (Attribute) iter.next();
String url = attribute.getValue();
}
}
|
// XML转字符串
Document document = ...;
String text = document.asXML();
// 字符串转XML
String text = <person> <name>James</name> </person>;
Document document = DocumentHelper.parseText(text);
|
public
Document styleDocument(
Document document,
String stylesheet
) throws
Exception {
// load the transformer using JAXP
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(
new
StreamSource( stylesheet )
);
// now lets style the given document
DocumentSource source = new
DocumentSource( document );
DocumentResult result = new
DocumentResult();
transformer.transform( source, result );
// return the transformed document
Document transformedDoc = result.getDocument();
return
transformedDoc;
}
|
public
Document createDocument() {
Document document = DocumentHelper.createDocument();
Element root = document.addElement(root);
Element author1 =
root
.addElement(author)
.addAttribute(name, James)
.addAttribute(location, UK)
.addText(James Strachan);
Element author2 =
root
.addElement(author)
.addAttribute(name, Bob)
.addAttribute(location, US)
.addText(Bob McWhirter);
return
document;
}
|
FileWriter out = new
FileWriter( foo.xml );
document.write(out);
|
public
void
write(Document document) throws
IOException {
// 指定文件
XMLWriter writer = new
XMLWriter(
new
FileWriter( output.xml )
);
writer.write( document );
writer.close();
// 美化格式
OutputFormat format = OutputFormat.createPrettyPrint();
writer = new
XMLWriter( System.out, format );
writer.write( document );
// 缩减格式
format = OutputFormat.createCompactFormat();
writer = new
XMLWriter( System.out, format );
writer.write( document );
}
|
发表评论
-
Java算法—农夫和牛的问题
2013-04-10 16:05 4852问题:一个农夫养了一头牛,三年后,这头牛每年会生出一头牛,生 ... -
Java读取Txt文件
2013-02-28 10:15 2053java读取txt文件的内容 类 ... -
An internal error occurred during: "Building workspace". Java heap space
2013-01-31 15:31 8013今天MyEclipse导入了一个 ... -
java利器---jodd
2013-01-25 17:26 18291网上对Jodd的描述如下: Jodd是一个普通开源Java ... -
Java程序发送邮件的两种方法
2013-01-24 15:17 3927前一段时间我在博客中发表过Java接收解析邮件的程序,今天, ... -
FreeMarker
2012-12-17 15:19 1821在Web应用中,有时需要按照固定的模板将数据导出到Word,如 ... -
Java读取XML配置文件详细总结(dom4j方式)
2012-11-30 16:57 4652最初的想法是不把mysql的连接参数写到程序中,因为每次要修改 ... -
XML的特殊字符
2012-11-30 16:53 32848XML中共有5个特殊的字符,分别是:&<> ... -
JAVA获取各种各样的时间、时间对比 方法汇总
2012-11-28 17:01 2604import java.text.DateFormat; ... -
ftp 主动模式与被动模式
2012-11-23 12:25 2183tp的工作原理 ftp要用到两个tcp连接即要使用两个端口 一 ... -
JAVA中使用FTPClient上传下载
2012-11-16 15:03 3401在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上 ... -
Java获取网页内容s实现自动化(IASI)
2012-11-16 09:58 3309IasiClient package com.iasi. ... -
httpclient 用java调用 的方式获取网页内容,
2012-11-16 09:43 189971. 读取网页(HTTP/HTTPS) ... -
Java实现Zip压缩,解压缩(二)
2012-11-15 11:16 1539今天写了个用java压缩的功能,可以实现对文件和目录的压缩。 ... -
Java实现Zip压缩,解压缩(一)
2012-11-15 10:37 1591package org; import java.i ... -
java 接收、解析邮件实例(三)
2012-11-15 10:20 1310package com.prase.email.four; ... -
java 发送、解析邮件实例(二)
2012-11-14 16:47 1041package com.prase.email.eight ... -
java 发送、解析邮件实例(一)
2012-11-14 16:40 1434package com.prase.email.six; ... -
java发送邮件详细参数解析总结(一)
2012-11-14 16:36 137111.介绍: Java Mail API的开发是SUN为Jav ... -
JavaMail学习笔记(一)、理解邮件传输协议(SMTP、POP3、IMAP、MIME)
2012-11-14 16:33 1685电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之 ...
相关推荐
dom4j dom4j dom4j dom4j dom4j dom4j
DOM4J jar包 所有的包 xml解析 dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1 导入直接使用
dom4j-1.6.1.zip与 dom4j-2.0.0-ALPHA-2.jar
JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源...
赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...
赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...
maven dom4j 1.6.1安装包
dom4j帮助文档 官方API All Classes Packages org.dom4j org.dom4j.bean org.dom4j.datatype org.dom4j.dom org.dom4j.dtd org.dom4j.io org.dom4j.jaxb org.dom4j.rule org.dom4j.rule.pattern org.dom...
DOM4J介绍及应用.ppt 可用作讲课 课程的目标:1.理解什么是dom4j 2.dom4j的作用 3.怎么使用dom4j
dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口
dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码
这个压缩包是一个关于DOM4J的压缩包,里面包含了DOM4J的帮助文档,DOM4J的使用教程,以及DOM4J这个JAVA包。保证这个压缩包是网上面最全的有关DOM4J的文档。
org.dom4j.bean An implementation of the dom4j API which allows JavaBeans to be used to store and retrieve attribute values from Element. org.dom4j.datatype An implementation of the dom4j API which ...
dom4j.rar 包括dom4j API帮助文档和dom4j.jar包.dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点
Dom4j_使用简介DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义: Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java ...
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...
dom4j2.0 dom4j2.0 dom4j2.0
dom4j,用来处理xml
Dom4j常用jar包Dom4j常用jar包Dom4j常用jar包Dom4j常用jar包Dom4j常用jar包Dom4j常用jar包
dom4j技术教程,dom4j是一个很好的解析xml文档的框架