Dom4j学习笔记(基础配置与举例)

        折腾了一整天都没搞懂为什么粘贴人家的Dom4jReader的例子在自己的jbuilder2005里面就是行不通。后来终于发现问题所在了。

        由于在SF上下载的dom4j-1.6.1.jar(下载http://dom4j.org是不含SAX 与 DOM 接口的,所以下载该版本必须结合jaxen-1.1-beta-6.jar一起使用。还是建议大家下载dom4j-1.6.1.zip比较全,解压之后把里面的dom4j-1.6.1.jar添加到classpath里,顺便把lib里面的jaxen-1.1-beta-6.jar也一起添加进取。如果用jb,就把以上两个包文件添加到工程的Required Liberaries估计这样运行起来就不会有什么问题了。

检测:创建XmlDom4J.java,实现创建catalog.xml

/**
 * dom4j 是一种解析 XML 文档的开放源代码 XML 框架。
 * dom4j API 包含一个解析 XML 文档的工具。
*/
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import java.io.*;
import org.dom4j.io.OutputFormat;
import java.util.List;
import java.util.Iterator;
import org.dom4j.Attribute;
import org.dom4j.io.SAXReader;


public class XmlDom4J {
    public void generateDocument() {
        Document document = DocumentHelper.createDocument(); //DocumentHelper 是生成 XML 文档节点的 dom4j API 工厂类。
        Element catalogElement = document.addElement("catalog");//addElement() 用于向 XML 文档中增加元素。
        catalogElement.addComment("An XML Catalog");//addComment() 方法添加注释“An XML catalog”。
        catalogElement.addProcessingInstruction("target", "text");//addProcessingInstruction() 方法增加一个处理指令。
        Element journalElement = catalogElement.addElement("journal");//在 catalog 元素中使用 addElement() 方法增加 journal 元素。
        journalElement.addAttribute("title", "XML Zone");
        journalElement.addAttribute("publisher", "IBM developerWorks");

        Element articleElement = journalElement.addElement("article");
        articleElement.addAttribute("level", "Intermediate");
        articleElement.addAttribute("date", "December-2001");
        Element titleElement = articleElement.addElement("title");
        titleElement.setText("Java configuration with XML Schema");//使用 setText() 方法设置 article 元素的文本。
        Element authorElement = articleElement.addElement("author");
        Element firstNameElement = authorElement.addElement("firstname");
        firstNameElement.setText("Marcello");
        Element lastNameElement = authorElement.addElement("lastname");
        lastNameElement.setText("Vitaletti");

        document.addDocType("catalog",
                            null, "file://D:/AppletEditor/Dtds/catalog.dtd");//使用 addDocType() 方法添加文档类型说明。
        try {
            // xml 标准格式,保存到文件
            OutputFormat format = OutputFormat.createPrettyPrint();
            XMLWriter output = new XMLWriter(new FileWriter("D:/AppletEditor/xml/catalog.xml"), format);
            output.write(document);
            output.close();
            // 紧凑的格式,System.out显示(
            format = OutputFormat.createCompactFormat();
            output = new XMLWriter(System.out, format);
            System.out.println("/r/n------------------Start------------------");
            output.write(document);
            System.out.println("/r/n-------------------End-------------------");
            output.close();
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }

        public static void main(String[] argv) {
        XmlDom4J dom4j = new XmlDom4J();
        dom4j.generateDocument();

    }
}

catalog.xml

<?xml version="1.0" encoding="UTF-8"?>

<catalog>
  <!--An XML Catalog--><?target text?>

  <journal title="XML Zone" publisher="IBM developerWorks">
    <article level="Intermediate" date="December-2001">
      <title>Java configuration with XML Schema</title>
      <author>
        <firstname>Marcello</firstname>
        <lastname>Vitaletti</lastname>
      </author>
    </article>
  </journal>
</catalog>

注:document.addDocType("catalog",null, "")如果要添加xml文档说明,最好把dtd文件先建好,不然系统会抱错找不到DTD声明的。本人感觉dtd有些麻烦,不过想要标准的编程步骤还是不可缺少的!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值