使用dom4j读写xml实例
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                使用dom4j读写xml实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                使用Dom4j開發,需下載dom4j相應的jar文件,本實例使用的是dom4j-1.6.1(最常用的版本)
官網下載:?http://www.dom4j.org/dom4j-1.6.1/
1、把數據從xml文本中讀取出來
實例代碼如下:
public class ReaderTest {@Testpublic void readTest() throws Exception{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File("nbaStar.xml"));//獲取xml文本的根節點Element root = document.getRootElement();//獲取xml文本中的內容,但不包括注釋和文本的聲明String text = root.asXML(); System.out.println(text);/** 常用讀取信息的方法* * //獲取xml絕對路徑* String xmlPath = document.getName();* //獲取xml的編碼方式* String encoding = document.getXMLEncoding(); * * //獲取根節點的名稱* String rootName = root.getName();* //獲取一個名稱為player的節點,默認是自頂向下查找第一個player的節點* * Element e = root.element("player");* * //遍歷各個子節點 * Iterator iterator = root.elementIterator();* while(iterator.hasNext()){* System.out.println(((Element)iterator.next()).asXML());* }* ...*/} }
運行結果:
 
 
 
 
2、把數據寫入xml文本中
實例代碼如下:
public class WriterTest {@Testpublic void writerTest() throws IOException{Document document = DocumentHelper.createDocument();//設置xml文本的格式document.setXMLEncoding("UTF-8");Element root = document.addElement("description");/* 這些命名空間添加后,后面子節點全部都會添加xmls... 沒有去查找原因* * root.addNamespace("", "http://www.nbaStar.com");**/NbaStars star[] = new NbaStars[5];star[0] = new NbaStars(1, "KB", "Laker", "SG");star[1] = new NbaStars(2, "KD", "OKC", "SF");star[2] = new NbaStars(3, "Curry", "worriors", "PG");star[3] = new NbaStars(4, "DW", "Heat", "SG");star[4] = new NbaStars(5, "LBJ", "CAV", "SF");for(int i = 0; i< star.length; i++){NbaStars nbaStar = star[i];Element e =root.addElement("player");e.addAttribute("dateTime", ""+new Date());e.addElement("id").addText(nbaStar.getId().toString());e.addElement("name").addText(nbaStar.getName());e.addElement("team").addText(nbaStar.getNbaTeam());e.addElement("position").addText(nbaStar.getPosition());}OutputFormat of = new OutputFormat();//設置格式,編碼...of.setEncoding("UTF-8");of.setNewLineAfterDeclaration(false); // 去掉XML聲明之后的空行 of.setNewlines(true); of.setIndent(true);of.setIndentSize(4);FileOutputStream fos = new FileOutputStream(new File("nbaStar.xml"));XMLWriter xmlWriter = new XMLWriter(fos, of);xmlWriter.write(document);xmlWriter.flush();xmlWriter.close();} }
 
<?xml version="1.0" encoding="UTF-8"?> <description xmlns="http://www.nbaStar.com"><player xmlns="" dateTime="Thu Mar 17 21:44:10 CST 2016"><id>1</id><name>KB</name><team>Laker</team><position>SG</position></player><player xmlns="" dateTime="Thu Mar 17 21:44:10 CST 2016"><id>2</id><name>KD</name><team>OKC</team><position>SF</position></player><player xmlns="" dateTime="Thu Mar 17 21:44:10 CST 2016"><id>3</id><name>Curry</name><team>worriors</team><position>PG</position></player><player xmlns="" dateTime="Thu Mar 17 21:44:10 CST 2016"><id>4</id><name>DW</name><team>Heat</team><position>SG</position></player><player xmlns="" dateTime="Thu Mar 17 21:44:10 CST 2016"><id>5</id><name>LBJ</name><team>CAV</team><position>SF</position></player> </description>
總結
以上是生活随笔為你收集整理的使用dom4j读写xml实例的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 仪器仪表行业数字化SCM供应链系统简化供
- 下一篇: 计算机的存储器体系结构,计算机体系结构设
