无线&移动互联网技术研发

换位思考·····
posts - 19, comments - 53, trackbacks - 0, articles - 283
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

dom4j 生成 xml

Posted on 2009-06-04 00:04 Gavin.lee 阅读(279) 评论(0)  编辑  收藏 所属分类: xml doc 操作

由于需求,那天特意从网上找的,非常好的一个例子,稍做了修改,只要能举一反三,就能组织各种格式的xml了:

<?xml version="1.0" encoding="GBK"?>
<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>


package com.Gavin.tools.xml;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.xml.sax.SAXException;

import java.io.*;

public class XmlDom4J {
    
public void generateDocument() {
        
        Document document 
= DocumentHelper.createDocument();    //经测试,创建时已有默认<?xml version="1.0" encoding="UTF-8"?>
        
//        document.addProcessingInstruction("xml", "version=\"1.0\" encoding=\"GBK\"");
        
        Element root 
= document.addElement("catalog");    
        
        root.addComment(
"An XML Catalog");        
        root.addProcessingInstruction(
"target""text");        
        
/**
         * 为此
         
*/

        
for(int i = 0; i < 5; i++{
            Element journal 
= root.addElement("journal");
            journal.addAttribute(
"title""XML Zone");
            journal.addAttribute(
"publisher""IBM developerWorks");
            
            Element article 
= journal.addElement("article");
            article.addAttribute(
"level""Intermediate");
            article.addAttribute(
"date""December-2001");
            
            Element title 
= article.addElement("title");
            title.setText(
"Java configuration with XML Schema");
            
            Element author 
= article.addElement("author");
                Element firstName 
= author.addElement("firstname");
                firstName.setText(
"Marcello");
                Element lastName 
= author.addElement("lastname");
                lastName.setText(
"Vitaletti");            
        }

        
        document.addDocType(
"catalog"null"file://c:/Dtds/catalog.dtd");
        
try {    
            OutputFormat format 
= OutputFormat.createPrettyPrint();
            format.setEncoding(
"GBK");
            XMLWriter output 
= new XMLWriter(new FileWriter(new File("c:/catalog.xml")), format);
            
            System.out.println(document.asXML());
            output.write(document);
            output.close();            
        }
 catch (IOException e) {
            e.printStackTrace();
        }
         
    }

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

}


只有注册用户登录后才能发表评论。


网站导航: