java读写xml文件

import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class ReadXml {

 /**
  * 
  * @param xmlFile
  *            File
  * @return boolean
  * @throws DocumentException 
  * @throws Exception 
  */
 private boolean parse(File xmlFile) throws Exception {
 
  try{

   LinkedHashMap<Integer, String> values = null;
   SAXReader reader = new SAXReader();
   Document document = reader.read(xmlFile);
   Element root = document.getRootElement();
   Element common = root.element("COMMON");
   
   Element content = root.element("CONTENT");
   List list = content.elements();
   int size = list.size();


   for (int i = 0; i < list.size(); i++) {
    Element item = (Element) list.get(i);
    values = new LinkedHashMap<Integer, String>();
    for (Iterator iter1 = item.elementIterator(); iter1
    .hasNext();) {
     Element item1 = (Element) iter1.next();
     values.put(values.size(), item1.getText());
    }
 
   }
    
  } catch(Exception ex) {
    
   throw ex;
  } 
  return true;

 }
 
  /**
     * 生成xml
     */
 public void writeXml() {
   
  try {
   File parent = new File("c:/xml");
   if(!parent.isDirectory()) {
    parent.mkdir();
   }
   SimpleDateFormat filesd = new SimpleDateFormat("yyyyMMdd-HHmmss");
   String now = filesd.format(new Date());
   String sourcename = "xmlname-" + now;
   String filename = sourcename + ".xml";
   File file = new File(parent, filename);

   

   //获取要同步的数据
   List<String> list = new ArrayList<String> ();

   list.add("text1");
   list.add("text2");
   Document document = DocumentHelper.createDocument();

   Element root = document.addElement("root");
   Element content = root.addElement("CONTENT");


   for (String str : list) {

    Element salesInfo = content
      .addElement("item");
    salesInfo.addElement("INT_DOM_FLAG").addText(str);
    
   }
   

   OutputFormat format = OutputFormat.createPrettyPrint();
   // format.setEncoding("GBK");
   XMLWriter writer = new XMLWriter(new FileWriter(file), format);

   writer.write(document);
   writer.close();
   
  } catch (Exception ex) {
   ex.printStackTrace();
  }
  

 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值