Dom4j入门指南(3)
来源:互联网 发布:java开源web项目小型 编辑:程序博客网 时间:2024/05/29 10:59
Dom4j入门指南(3)
快速遍历
如果你处理的XML文件很大,这个时候建议你最好使用dom4j提供的快速遍历方法,这个可以满足你对性能的需求,因为dom4j快速遍历不会为每层循环都创建一个Iterator对象。是不是说的云里雾里的,其实我也晕了,不怕,咋来动个手就明白了。
public void treeWalk(Document document) {
treeWalk( document.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....
}
}
}
Node node = element.node(i);关键是这一句,我们直接通过element下标就可以遍历节点,而避免了为此创建Iterator对象,这就节省了大量遍历时间和资源。是不是很灵活,嚎。。。(板砖)
创建XML
你也可以使用dom4j来创建一个XML文件。还是出招吧,总感觉不踏实,呵呵。。。
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;
}
看的出使用dom4j创建一个XML也是相当容易哈,想要标签就addElement,想要属性就addAttribute,想要文本就addText,想要花姑娘你就add。。,等等你小子还想要什么啊,(apache大叔手里拿着板砖,恶狠狠看着这边。。。)。哈,做人不能太贪心,今天咋就要到这里吧,要不apache大叔要发火了~
下面是打印document对象的结果
<?xml version="1.0" encoding="UTF-8"?>
<root>
<author name="James" location="UK">James Strachan</author>
<author name="Bob" location="US">Bob McWhirter</author>
</root>
Document写入文件
将document文件写成文件最快也是最简单的方法就是使用write(),地球人都知道哈。
FileWriter out = new FileWriter(“foo.xml”);
document.write(out);
如果你想对输出方式进行格式化输出,你可以采用平板式,也可以采用紧密式,也可以使用OutputStream来输出到对象,这时候你就要用到XMLWriter这个类了。
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Foo {
public void write(Document document) throws IOException {
// lets write to a file
XMLWriter writer = new XMLWriter(
new FileWriter( "output.xml" )
);
writer.write( document );
writer.close();
// Pretty print the document to System.out
OutputFormat format = OutputFormat.createPrettyPrint();
writer = new XMLWriter( System.out, format );
writer.write( document );
// Compact format to System.out
format = OutputFormat.createCompactFormat();
writer = new XMLWriter( System.out, format );
writer.write( document );
}
}
转自:http://blog.csdn.net/mgoann/article/details/4140393
- Dom4j入门指南(3)
- Dom4j入门指南(3)
- Dom4j入门指南(1)
- Dom4j入门指南(2)
- Dom4j入门指南(4)
- Dom4j入门指南(1)
- Dom4j入门指南(2)
- Dom4j入门指南(4)
- Dom4j入门指南【转】
- dom4j 快速入门指南
- DOM4J快速入门(1)
- DOM4J快速入门(2)
- ant入门指南(3)
- dom4j入门
- DOM4J入门
- dom4j使用基本指南
- dom4j(Version 1.6.1)快速入门
- dom4j(Version 1.6.1)快速入门
- 开发所使用的工具类
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解
- dfghjkljhfd
- 周期串
- 如何在官网下载tomcat
- Dom4j入门指南(3)
- si用例
- 分享javascript加载外部内容
- (转载)ORACLE CASE WHEN 及 SELECT CASE WHEN的用法
- Word Break II Java
- 使用Sparkle为OS X App添加自动更新功能
- 链表 - 数据结构
- MFC绘图
- 新浪sae平台wordpress插件wp-mail-smtp邮件功能配置使用