有时候我们需要实现一些数据的持久化的操作,但是使用数据库有太麻烦而且没必要的时候就可以使用xml实现数据的持久化的操作,xm不进能传递数据还能存储数据;是个好东西哦,下面我们就来试试在4jDom下的SAXReader方法实现的xml的数据的读取的操作:
1.首先写一个xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<message>
<body>
<ticketNotify>
<ticket id="6000012007051000000231" dealTime="20070510165423" status="0000" message="asdaasdsdas" />
</ticketNotify></body></message>
写完xml之后在写一个java方法来读取这个配置文件:
package xml;
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class TestXml {
/**
* 读取xml中的数据,实现xml的持久化的操作
*/
public static void main(String[] args) {
try {
// 创建xml解析对象
SAXReader reader = new SAXReader();
// 定义一个文档
Document document = reader.read(new File(
"E:/MyeclipseForDacs/aa.xml"));
// 得到xml的根节点(message)
Element root = document.getRootElement();
// 定义子循环体的变量
Element ticket = null;
Iterator<?> tickets = null;
for (tickets = root.element("body").element("ticketNotify")
.elementIterator(); tickets.hasNext();) {
ticket = (Element) tickets.next();
System.out.println(ticket.attributeValue("id"));
System.out.println(ticket.attributeValue("dealTime"));
System.out.println(ticket.attributeValue("status"));
System.out.println(ticket.attributeValue("message"));
}
// Element.asXML方法,获得包括该标签的所有XML数据
// System.out.println(root.element("body").asXML());
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上的xml文件我命名是aa.xml读取的地址你们随便写jiukey