使用 dom4j 创建 XML 文档

dom4j API 包含一个解析 XML 文档的工具。本文中将使用这个解析器创建一个示例 XML 文档。清单 1 显示了这个示例 XML 文档,catalog.xml。

清单 1

<?xml version="1.0" encoding="UTF-8"?> 
<catalog> 
<!--An XML Catalog--> 
<?target instruction?>
  <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>
 

 

//使用 import 语句导入 dom4j API 类:
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import java.io.*;

public class XmlDom4J {
	public void generateDocument() {
		//使用 DocumentHelper 类创建一个文档实例。 DocumentHelper 是生成 XML 文档节点的 dom4j API 工厂类。
		Document document = DocumentHelper.createDocument();
		//使用 addElement() 方法创建根元素 catalog 。 addElement() 用于向 XML 文档中增加元素。
		Element catalogElement = document.addElement("catalog");
		//在 catalog 元素中使用 addComment() 方法添加注释“An XML catalog”。 
		catalogElement.addComment("An XML Catalog");
		//在 catalog 元素中使用 addProcessingInstruction() 方法增加一个处理指令。
		catalogElement.addProcessingInstruction("target", "text");
		//在 catalog 元素中使用 addElement() 方法增加 journal 元素。
		Element journalElement = catalogElement.addElement("journal");
		//使用 addAttribute() 方法向 journal 元素添加 title 和 publisher 属性。
		journalElement.addAttribute("title", "XML Zone");
		journalElement.addAttribute("publisher", "IBM developerWorks");
		//向 journal 元素中添加 article 元素。
		Element articleElement = journalElement.addElement("article");
		//为 article 元素增加 level 和 date 属性
		articleElement.addAttribute("level", "Intermediate");
		articleElement.addAttribute("date", "December-2001");
		//向 article 元素中增加 title 元素。
		Element titleElement = articleElement.addElement("title");
		//使用 setText() 方法设置 article 元素的文本。
		titleElement.setText("Java configuration with XML Schema");
		//在 article 元素中增加 author 元素。
		Element authorElement = articleElement.addElement("author");
		//在 author 元素中增加 firstname lastname 元素并设置元素的文本。
		Element firstNameElement = authorElement.addElement("firstname");
		firstNameElement.setText("Marcello");
		Element lastNameElement = authorElement.addElement("lastname");
		lastNameElement.setText("Vitaletti");
		//可以使用 addDocType() 方法添加文档类型说明。
		document.addDocType("catalog", null, "./catalog.dtd");
		try {
			XMLWriter output = new XMLWriter(new FileWriter(new File(
					"./catalog.xml")));
			output.write(document);
			output.close();
		} catch (IOException e) {
			System.out.println(e.getMessage());
		}
	}

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值