日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用dom4j读写xml实例

發布時間:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用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();} }


運行結果:在項目的目錄下生成一個nbaStar.xml的文本文件。內容如下:

<?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实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。