注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

放飞自由

年轻人,如果三年的时间里,没有任何想法,他这一生,就基本这个样子,没有多大改变。

 
 
 

日志

 
 

dom4j 生成xml  

2011-01-05 15:56:42|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class CreateXML {
 
 /**
  * 生成以下格式的xml
  * <products>
  *   <product>
  *    <name>name1</name>
  *   <pcode>pcode</pcode>
  *   <code>GB2312</code>
  *   </product>
  * </products>
  * @param list
  * @return
  */
 public static Document getDocument(List<Product> list) {
  if(null != list && list.size() > 0){
   Document document = DocumentHelper.createDocument();
   Element root = document.addElement("products");
   for (Iterator<Product> iter = list.iterator(); iter.hasNext();) {
    Element productElement = root.addElement("product");
    Product product = (Product) iter.next();
    if(null != product.getName()){
     Element nameElement = productElement.addElement("name");
     nameElement.addText(product.getName());
    }
    if(null != product.getPcode()){
     Element pcodeElement = productElement.addElement("pcode");
     pcodeElement.addText(product.getPcode());
    }
    if(null != product.getCode()){
     Element codeElement = productElement.addElement("code");
     codeElement.addText(product.getCode());
    }
   }
   return document;
  }else{
   System.out.println("");
  }
  return null;
 }

 /**
  * 生成以下格式的xml
  * <products>
  *   <product>
  *    <name>name1</name>
  *   <pcode code="GB2312">pcode</pcode>
  *   </product>
  * </products>
  * @param list
  * @return
  */
 public static Document getDocument2(List<Product> list) {
  if(null != list && list.size() > 0){
   Document document = DocumentHelper.createDocument();
   Element root = document.addElement("products");
   for (Iterator<Product> iter = list.iterator(); iter.hasNext();) {
    Element productElement = root.addElement("product");
    Product product = (Product) iter.next();
    if(null != product.getName()){
     Element nameElement = productElement.addElement("name");
     nameElement.addText(product.getName());
    }
    if(null != product.getPcode()){
     Element pcodeElement = productElement.addElement("pcode");
     pcodeElement.addText(product.getPcode());
     if(null != product.getCode()){
      pcodeElement.addAttribute("code", product.getCode());
     }
    }
    
   }
   return document;
  }else{
   System.out.println("");
  }
  return null;
 }
 
 /**
  * 写入xml文件地址
  *
  * @param document
  *            所属要写入的内容
  * @param outFile
  *            文件存放的地址
  */
 public static void writeDocument(Document document, String outFile) {
  try {
   // 读取文件
   FileWriter fileWriter = new FileWriter(outFile);
   OutputFormat xmlFormat = new OutputFormat();
   xmlFormat.setEncoding("GB2312");// 设置文件编码
   xmlFormat.setNewlines(true);    // 是否换行
   xmlFormat.setIndent(true);      // 是否缩进
   XMLWriter xmlWriter = new XMLWriter(fileWriter, xmlFormat);// 创建写文件方法
   // 写入文件
   xmlWriter.write(document);
   // 关闭
   xmlWriter.close();
  } catch (IOException e) {
   System.out.println("文件没有找到");
   e.printStackTrace();
  }
 }
 
 private static List<Product> getProduct(){
  List<Product> list = new ArrayList<Product>();
  for (int i = 1; i <= 5; i++) {
   Product product = new Product();
   product.setName("产品" + i);
   product.setPcode("000000" + i);
   if(i < 3)
    product.setCode("GB2312");
   list.add(product);
  }
  return list;
 }
 
 public static void main(String[] args) {
  CreateXML.writeDocument(CreateXML.getDocument2(getProduct()), "F://product.xml");
 }
}
class Product{
 private String name;
 private String pcode;
 private String code;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getPcode() {
  return pcode;
 }
 public void setPcode(String pcode) {
  this.pcode = pcode;
 }
 public String getCode() {
  return code;
 }
 public void setCode(String code) {
  this.code = code;
 }
}

  评论这张
 
阅读(89)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017