dom4j解析xml文件
<?xml version="1.0" encoding="utf-8"?>
<workflows>
<queryRequest>
<branchId>88037062</branchId>
<merSysId>00000317</merSysId>
<queryNo>948983692</queryNo>
<billType>00</billType>
<merBillStat>00</merBillStat>
<billDate>201610</billDate>
<individualArea>948983692</individualArea>
</queryRequest>
</workflows>
解析代码:
private static Map<String,String> xml2Map(String xml) {
Map<String, String> map = new HashMap<String, String>();
try {
Document doc = DocumentHelper.parseText(xml);//将xml转为dom对象
Element root = doc.getRootElement();//获取根节点
Element element = root.element("queryRequest");//获取名称为queryRequest的子节点
List<Element> elements = element.elements();//获取这个子节点里面的所有子元素,也可以element.elements("userList")指定获取子元素
for (Object obj : elements) { //遍历子元素
element = (Element) obj;
map.put(element.getName(), element.getTextTrim());/getName
System.out.println(element.getName()+"--"+element.getTextTrim());
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
以下这种写法也常见
public Boolean readStringXml(String xml) {
Document doc = null;
try {
doc = DocumentHelper.parseText(xml); // 将字符串转为XML
Element rootElt = doc.getRootElement(); // 获取根节点
Iterator<?> iter = rootElt.elementIterator("is_success"); // 获取根节点下的子节点head
// 遍历head节点
while (iter.hasNext()) {
Element recordEle = (Element) iter.next();
return recordEle.getText().equals("T")?true:false;
}
} catch (DocumentException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
xml转为map
转载于:https://www.cnblogs.com/gyjx2016/p/6059898.html