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