【dom4j】解析xml为map

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【dom4j】解析xml为map

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

相关文档
最新文档