您的位置:首页 > 编程语言

dom4j读写xml文件方法和具体实现代码(提供jar包下载)

2015-09-17 14:14 417 查看
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相关的操作也就这么多了,在此做个简单的记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: