项目中实例:
拼装XML:
Element root = DocumentHelper.createElement("root");
Element set = null;
String aimSql = "SELECT " + queryField + " FROM t_jgdm WHERE 1=1 " + queryCondition;
pstmt = conn.prepareStatement(aimSql);
System.out.println("【代码共享SQL:】" + aimSql);
rs = pstmt.executeQuery();
while (rs.next()) {
set = root.addElement("set");
String[] queryFieldArr = queryField.split(",");
for (int i = 0; i < queryFieldArr.length; i++) {
set.addAttribute(queryFieldArr[i], rs.getString(queryFieldArr[i].toUpperCase()));
}
}
res = root.asXML();
解析XML格式的文本:
Element document = DocumentHelper.parseText(transMessage);
Element root = document.getRootElement();
Iterator tickets = root.element("body").element("ticketNotify").elementIterator();
//Iterator tickets = root.elementIterator();获取root下所有元素集合
//获取ticketNotify节点下所有的ticket节点的配置属性
while (tickets.hasNext()) {
Element ticket = (Element) tickets.next();
System.out.println("节点属性值:" + ticket.attributeValue("id"));
}
SAXReader解析XML文件,然后进行遍历,避免子节点中含中文导致的乱码、解析失败问题
<Org>
<People>
<name>张三</STDID>
<sex>男</STDCN>
<age>88</STDEN>
<bz>备注</Summary>
</People>
<People>
<name>李四</STDID>
<sex>女</STDCN>
<age>100</STDEN>
<bz>备注</Summary>
</People>
</Org>
// 解析XML内容
File file = new File(strFileName);
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(file);
Element root = document.getRootElement();// 获取根节点
Iterator<Element> iterator = root.elementIterator("People");
// 遍历People节点
while (iterator.hasNext()) {
Element recordEle = (Element) iterator.next();
String name= recordEle.elementTextTrim("name");
// 拿到People节点下的子节点name值
name= StringUtil.isNotEmpty(name) ? name: "";
......处理业务......
......操作数据库......
参考:http://www.cnblogs.com/macula/archive/2011/07/27/2118003.html