dom4j是一個Java的XML API,類似於jdom,用來讀寫XML文件的。dom4j是一個十分優秀的JavaXML
API,具有性能優異、功能強大和極其易使用的特點,同時它也是一個開放源代碼的軟件,可以在SourceForge上找到它。
1.下載dom4j的jar包
我分享的一個dom4j1.6.1,下載該jar包,
http://yunpan.cn/cHgk37CzkUFTM 訪問密碼 1072
2.寫xml文件
示例代碼:
public String createXML(){
String strXML = null;
Document document = DocumentHelper.createDocument();
Element root = document.addElement("USERRST");
Element head = root.addElement("HEAD");
Element code = head.addElement("CODE");
code.addText("000");
Element sid = head.addElement("SID");
sid.addText("000");
Element timestamp = head.addElement("TIMESTAMP");
timestamp.addText("YYYYMMDDHH24MMSS");
Element serviceId = head.addElement("SERVICEID");
serviceId.addText("應用標識");
Element body = root.addElement("BODY");
Element rsp = body.addElement("RSP");
rsp.addText("返回結果代碼");
Element mainacctId = body.addElement("MAINACCTID");
mainacctId.addText("當前主帳號");
Element appacctId = body.addElement("APPACCTID");
appacctId.addText("從帳號登錄名");
StringWriter strWtr = new StringWriter();
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter xmlWriter =new XMLWriter(strWtr, format);
try {
xmlWriter.write(document);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
strXML = strWtr.toString();
return strXML;
}
所寫的xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<USERRST>
<HEAD>
<CODE>000</CODE>
<SID>000</SID>
<TIMESTAMP>YYYYMMDDHH24MMSS</TIMESTAMP>
<SERVICEID>應用標識</SERVICEID>
</HEAD>
<BODY>
<RSP>返回結果代碼</RSP>
<MAINACCTID>當前主帳號</MAINACCTID>
<APPACCTID>從帳號登錄名</APPACCTID>
</BODY>
</USERRST>
3.讀取xml的內容
讀取上面的xml源代碼:
public void parserXML(String strXML){
SAXReader reader = new SAXReader();
StringReader sr = new StringReader(strXML);
InputSource is = new InputSource(sr);
try {
Document document = reader.read(is);
Element root = document.getRootElement();
Element head = root.element("HEAD");
List<Element> headChildList = head.elements();
for (Element headChild:headChildList){
System.out.println(headChild.getName()+"="+headChild.getText());
}
Element body = root.element("BODY");
List<Element> bodyChildList = body.elements();
for (Element bodyChild:bodyChildList){
System.out.println(bodyChild.getName()+"="+bodyChild.getText());
}
System.out.println("********************");
Element code = head.element("CODE");
System.out.println(code.getName()+"="+code.getText());
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
結果如下:
CODE=000
SID=000
TIMESTAMP=YYYYMMDDHH24MMSS
SERVICEID=應用標識
RSP=返回結果代碼
MAINACCTID=當前主帳號
APPACCTID=從帳號登錄名
CODE=000
我在項目中用到的dom4j相關的操作也就這麼多了,在此做個簡單的記錄。