dom4j對(duì)xml文件進(jìn)行更新操作
dom4j是一個(gè)Java的XML API,類似于jdom,用來(lái)讀寫XML文件的。dom4j是一個(gè)非常非常優(yōu)秀的Java XML API,具有性能優(yōu)異、功能強(qiáng)大和極端易用使用的特點(diǎn),同時(shí)它也是一個(gè)開(kāi)放源代碼的軟件,可以在SourceForge上找到它 地址。如今你可以看到越來(lái)越多的Java軟件都在使用dom4j來(lái)讀寫XML,特別值得一提的是連Sun的JAXM也在用dom4j。這是必須使用的jar包, Hibernate用它來(lái)讀寫配置文件。
今天項(xiàng)目需要對(duì)已存在的xml文件進(jìn)行更新,對(duì)比之下,感覺(jué)dom4j還是比較適合的,現(xiàn)在將代碼貼上,方便以后參考
/**
* 將訂單信息寫入xml文件
* @param map
* @throws DocumentException
* @throws IOException
*/
public void writeXML(Map map) throws DocumentException, IOException{
if(map != null && map.get("respCode").equals("0000")){//訂單提交成功,未付款
//將訂單信息寫入文件
File inputXML=new File("e:/orderList.xml");
//使用 SAXReader 解析 XML 文檔 orderList.xml
SAXReader saxReader=new SAXReader();
Document document=saxReader.read(inputXML);
Element orders=document.getRootElement();//根節(jié)點(diǎn)
Element order = orders.addElement("order");//訂單節(jié)點(diǎn)
Element merchantId = order.addElement("merchantId");//商戶ID
merchantId.setText(map.get("merchantId").toString());
Element transType = order.addElement("transType");//訂單狀態(tài)
transType.setText(map.get("transType") == null ? "00":map.get("transType").toString());
Element merchantOrderId = order.addElement("merchantOrderId");//訂單ID
merchantOrderId.setText(map.get("merchantOrderId").toString());
Element merchantOrderTime = order.addElement("merchantOrderTime");//訂單時(shí)間
merchantOrderTime.setText(map.get("merchantOrderTime").toString());
Element merchantOrderAmt = order.addElement("merchantOrderAmt");//訂單金額
merchantOrderAmt.setText(map.get("merchantOrderAmt").toString());
Writer writer = new FileWriter(inputXML);
OutputFormat format= OutputFormat.createPrettyPrint();//格式化
XMLWriter xmlWriter = new XMLWriter(writer,format);
xmlWriter.write(document);
xmlWriter.close();
}
}
posted on 2011-12-06 10:34 AthrunWang 閱讀(189) 評(píng)論(0) 編輯 收藏