`
mgoann
  • 浏览: 253541 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Dom4j入门指南(3)

阅读更多

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 );
    }
}
 

  

 

 

分享到:
评论

相关推荐

    dom4j入门资料全.rar

    **标题解析:** "dom4j入门资料全.rar" 这个标题表明这是一个关于dom4j初学者的综合资源包,包含多种类型的资料,可能是为了帮助用户快速掌握dom4j这个Java库的基础知识。 **描述解析:** "包含jar,电子书,网页...

    dom4j-jar与dom4j解析xml文档介绍

    **PDF文档说明**:这个PDF文档可能是dom4j的官方用户指南或教程,包含了详细的API使用示例、最佳实践和常见问题解答。对于初次接触dom4j的开发者来说,这是一个宝贵的资源,可以帮助他们快速理解和掌握dom4j的使用...

    dom4j完整版.zip

    压缩包中的“使用说明.txt”很可能是DOM4J的快速入门指南或API参考,它可能包含了如何导入库、创建XML文档、执行XPath查询、修改XML结构等基础用法的示例代码。对于初次使用者来说,这份文档是理解DOM4J功能和用法的...

    dom4j-1.6.1.zip

    这表明在压缩包中,除了DOM4J的库文件外,还有一个名为“index.html”的文档,它可能是一个API参考手册或者快速入门指南,帮助用户快速了解DOM4J的用法和如何与XML文件交互。通常,这样的文档会包含API函数的详细...

    Docx4j入门指南

    Docx4j的入门指南主要针对新用户,提供了文档的最新版本,可以在GitHub的docs目录中找到。当前大部分的入门文档是英文版本,但用户也可以通过机器翻译或自行翻译为其他语言。有兴趣提供翻译版本的用户,可以通过联系...

    dom4j-1.6.1

    "玄关的文档"可能是指入门或引导性质的教程文档,帮助初学者快速理解和上手dom4j。 **标签:** "dom4j"标签明确了这个压缩包的核心内容,即与dom4j相关的知识和技术。 **文件名称列表:** 虽然未提供具体的文件...

    dom4j 完整jar包 及 帮助文档

    **DOM4J完全指南** DOM4J是一款强大的Java XML API,它提供了丰富的功能,使得处理XML文档变得简单而高效。这个资源包含DOM4J的完整jar包和帮助文档,是学习和开发过程中不可或缺的工具。 **一、DOM4J基本概念** ...

    jQuery中文入门指南

    《jQuery中文入门指南》是一份面向初学者的教程,旨在帮助读者快速掌握jQuery的基本用法。该指南由Keel翻译并添加了补充说明,主要内容基于原文作者Jörn Zaefferer的作品。学习jQuery的过程中,建议参考两个重要的...

    网站需要的api合集

    2. DOM4J:DOM4J是一个流行的Java XML处理库,它提供了灵活且强大的API来操作XML文档。开发者可以通过DOM4J进行XML文档的读取、写入、修改和查询。掌握DOM4J可以帮助你在Java项目中高效地处理XML数据。 3. ...

    Java获取XML节点总结之读取XML文档节点的方法

    在Java编程中,处理XML文件是一项常见的任务,用于数据存储、配置管理或数据交换。...如果你需要进一步了解DOM4J,可以参考官方提供的帮助文档,它包含了详细的API指南和快速入门教程,能帮助你更好地掌握DOM4J的使用。

    Hibernate入门教程

    3. **必要和建议的jar库**:除了hibernate2.jar之外,还有多个jar库是必需的或建议使用的,如dom4j、CGLIB、CommonsCollections、CommonsLogging、ODMG4、EHCache以及Log4j。 - **dom4j**:用于XML解析,是...

    XML编程从入门到精通(PDF)

    8. **DOM4J和JDOM**:在Java开发中,DOM4J和JDOM是常用的XML处理库,提供了方便的API进行XML解析、操作和生成。 9. **XML与JSON**:虽然XML功能强大,但JSON因其简洁性和易用性在现代Web应用中更为流行。两者各有...

    javaweb帮助文档合集

    8. **dom4j API .chm**:dom4j是一个Java的XML处理库,提供了丰富的API用于读写XML文档。这份文档介绍了如何使用dom4j进行XML解析、操作和生成。 9. **Cascading Style Sheet 样式表中文手册.chm**:CSS是控制网页...

    北大青鸟J学士后ava基础课程学习资料

    总的来说,这套北大青鸟J学士后Java基础课程学习资料是一份全面的Java入门指南,涵盖了从基本语法到高级概念的多个层次,适合想要系统学习Java编程的初学者。通过这些资料的学习,学员不仅可以掌握Java编程,还能...

    网络机器人Java编程指南.

    利用Java的try-catch语句捕获异常,使用Log4j或SLF4J进行日志记录,可以帮助排查问题和调试。 通过以上知识的学习和实践,你可以逐步构建一个功能完善的网络机器人。"网络机器人Java编程指南"这本书作为入门资料,...

    xml编程从入门到精通

    学习XML编程还需要了解如何在各种编程语言中处理XML,例如Java的JAXB、DOM4J,Python的ElementTree,C#的XmlDocument等。理解XML的基础知识后,可以深入研究XML的高级特性,如XPath和XSLT的复杂用法,以及如何在实际...

    chm资料集锦

    10. `dom4j.chm`:DOM4J是一个Java XML API,提供了强大的XML处理功能。 通过这些CHM文件,读者可以深入学习和理解上述技术,无论是Web前端的样式和交互,还是后端的框架与数据库操作,都能得到详尽的指导。对于...

    XML.rar(里面两本书:XML编程从入门到精通.pdf--xml_基础学习完全手册.chm)都是【高清晰】

    9. **DOM和JDOM**:在Java编程中,DOM4J和JDOM是常用的XML处理库,它们提供了操作XML文档的API,简化了XML的解析和生成。 10. **XML与数据库**:XML也可以作为数据库中的数据格式,如XML数据库,提供了一种非结构化...

    OFBIZ2.0 入门手册,适合刚学习的朋友们

    【OFBIZ 2.0 入门指南】 OFBIZ是一个开源的电子商务软件系统,它基于Java技术栈,利用诸如Tomcat、Ant、BeanShell和Jboss等优秀开源项目构建了一个强大的商务应用平台。OFBIZ的核心组件是Entity Engine,它提供了...

    jbpm开发指南

    jBPM依赖于Hibernate、dom4j等第三方库进行持久化,Hibernate不仅提供了对象关系映射,还处理了SQL方言问题,确保在各种数据库上都能运行。 1.5 jBPM控制台Web应用程序 jBPM控制台是一个Web应用程序,它提供了与...

Global site tag (gtag.js) - Google Analytics