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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

java 读 xml_Java读写XML代码示例

發布時間:2024/10/8 asp.net 81 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 读 xml_Java读写XML代码示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

采用技術:dom4j

需要jar包:dom4j-1.6.1.jar

主類如下----

public class dom4jTestXML {

/**

*

* 方法描述:讀取XML文件示例 備 注:

* 創 建 人: bo.gaobo

* 修改日期: @2013-8-20

*/

public static void readXML() {

SAXReader sr = new SAXReader();// 獲取讀取xml的對象。

try {

Document doc = sr.read("src/Noname1.xml");// 得到xml所在位置。然后開始讀取。并將數據放入doc中

Element el_root = doc.getRootElement();// 向外取數據,獲取xml的根節點。

System.out.println("根節點:" + el_root.getName());

Iterator it = el_root.elementIterator();// 從根節點下依次遍歷,獲取根節點下所有子節點

while (it.hasNext()) {// 遍歷子節點

Object o = it.next();

Element el_row = (Element) o;

String str = el_row.getText();

Iterator it_row = el_row.elementIterator();

while (it_row.hasNext()) {

Element el_ename = (Element) it_row.next();

System.out.println(el_ename.getName() + "="

+ el_ename.getData());

}

}

} catch (DocumentException e) {

e.printStackTrace();

}

}

/**

*

* 方法描述:寫入XML文件并存儲 備 注:

* 創 建 人: bo.gaobo

* 修改日期: @2013-8-20

*/

public static void writeToXML() {

Row row1 = new Row();

row1.setCo("co_1");

row1.setComm("comm_1");

row1.setDepno("depno_1");

row1.setEmpno("empno_1");

row1.setEname("ename_1");

row1.setMgr("mgr_1");

row1.setHiredate("2012-03-29");

row1.setJob("job_1");

row1.setSal("sal_1");

Document document = DocumentHelper.createDocument();

Element root = document.addElement("ROWDATA");

Element row = root.addElement("ROW");

row.addElement("CO").addText(row1.getCo());

row.addElement("EMPNO").addText(row1.getEmpno());

row.addElement("ENAME").addText(row1.getEname());

row.addElement("JOB").addText(row1.getJob());

row.addElement("MGR").addText(row1.getMgr());

row.addElement("HIREDATE").addText(row1.getHiredate());

row.addElement("SAL").addText(row1.getSal());

row.addElement("COMM").addText(row1.getComm());

row.addElement("DEPTNO").addText(row1.getDepno());

String filePath = "D:/xmlTest/" + getNowDay() + "/";

String fileName = "row1.xml";

String xmlStr = "";

xmlStr = document.asXML();

try {

Document dcmt = DocumentHelper.parseText(xmlStr);

saveDocumentToFile(dcmt, filePath, fileName, true, "UTF-8");

} catch (DocumentException e) {

e.printStackTrace();

}

}

public static String getNowDay() {

SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");

return format.format(new Date());

}

/**

* 方法描述:存儲完整XML文件.

* 備 注:

* 創 建 人: zyl

* 創建日期:2013-3-18

*

* @param document

* @param xmlFilePath

* @param xmlFileName

* @param isTrimText

* @param xmlEncoding

*/

public static void saveDocumentToFile(Document document,

String xmlFilePath, String xmlFileName, boolean isTrimText,

String xmlEncoding) {

if (document == null || xmlFilePath == null || "".equals(xmlFileName)) {

return;

}

File file = new File(xmlFilePath);

// 判斷路徑是否存在,不存在創建

if (!file.exists()) {

file.mkdirs();

}

// 保存文件

OutputFormat format = null;

if (isTrimText) {

format = OutputFormat.createPrettyPrint();

} else {

format = DomXmlOutputFormat.createPrettyPrint();// 保留xml屬性值中的回車換行

}

if (xmlEncoding != null) {

format.setEncoding(xmlEncoding);// GBK

} else {

format.setEncoding("UTF-8");// UTF-8

}

try {

org.dom4j.io.XMLWriter xmlWriter = new org.dom4j.io.XMLWriter(

new FileOutputStream(xmlFilePath + xmlFileName), format);// FileOutputStream可以使UTF-8生效

xmlWriter.write(document);

xmlWriter.close();

} catch (IOException e) {

System.out.println("保存XML異常:" + e.getMessage());

System.out.println("正在保存的文件名是:" + xmlFileName);

}

// 存到文件中結束

}

public static void main(String args[]) {

//??readXML();

writeToXML();

}

}

class Row {

private String co;

private String empno;

private String ename;

private String job;

private String mgr;

private String hiredate;

private String sal;

private String comm;

private String depno;

public String getCo() {

return co;

}

public void setCo(String co) {

this.co = co;

}

public String getEmpno() {

return empno;

}

public void setEmpno(String empno) {

this.empno = empno;

}

public String getEname() {

return ename;

}

public void setEname(String ename) {

this.ename = ename;

}

public String getJob() {

return job;

}

public void setJob(String job) {

this.job = job;

}

public String getHiredate() {

return hiredate;

}

public void setHiredate(String hiredate) {

this.hiredate = hiredate;

}

public String getSal() {

return sal;

}

public void setSal(String sal) {

this.sal = sal;

}

public String getComm() {

return comm;

}

public void setComm(String comm) {

this.comm = comm;

}

public String getDepno() {

return depno;

}

public void setDepno(String depno) {

this.depno = depno;

}

public String getMgr() {

return mgr;

}

public void setMgr(String mgr) {

this.mgr = mgr;

}

}

主類結束----

輔助類,重寫了createPrettyPrint()方法----

import org.dom4j.io.OutputFormat;

/**

* 類 描 述:dom4j輸出格式化.

* 備????? 注:?

* 創? 建?? 人: yanlei.zhao

* 創建日期: 2011-12-1

*/

public class DomXmlOutputFormat extends OutputFormat {

/**

* 方法描述:dom4j輸出格式化..

* 備????????? 注: 保存Document到xml文件時,xml屬性中的回車換行需要保留,

* ???可是發現在使用過程中發現dom4j自動把回車換行去掉了。特寫此類

* 創? 建?? 人: yanlei.zhao

* 創建日期: 2011-12-1

* @return

*/

public static OutputFormat createPrettyPrint() {

OutputFormat format = new OutputFormat();

format.setIndentSize(2);

format.setNewlines(true);

format.setTrimText(false); // 覆蓋 父類的? format.setTrimText(true);

format.setPadText(true);

return format;

}

}

輔助類結束----

示例XML文件----

1

7891

sdffff

job

mgr

2010-1-1

5000.00

1000.00

deptno

2

7369

SMITH

CLERK

7902

1980-12-17

800.00

comm

20

示例文件結束----

總結

以上是生活随笔為你收集整理的java 读 xml_Java读写XML代码示例的全部內容,希望文章能夠幫你解決所遇到的問題。

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