dom4j解析xml
public AddressBean getContent()throws Exception {
String xmlStr = "
<xml>
<Encrypt><![CDATA[msg_encrypt]]></Encrypt>
<MsgSignature><![CDATA[msg_signature]]></MsgSignature>
<TimeStamp>timestamp</TimeStamp>
<Nonce><![CDATA[nonce]]></Nonce>
</xml>"
// 将字符串转化为XML文档对象
Document document = DocumentHelper.parseText(xmlStr);
// 获得文档的根节点
Element root = document.getRootElement();
//解析xml
AddressBean addressBean = parseXmlStr(root);
return addressBean;
}
public static AddressBean parseXmlStr(Element root) throws Exception {
//判断当前节点是否有子节点
if (root.elements().size()>0){
//有子节点
//获取所有子节点
Iterator<?> iter = root.elementIterator();
while(iter.hasNext()){
Element next = (Element) iter.next();
//递归判断
parseXmlStr(next);
}
}else{
//没有子节点直接输出
System.out.println("节点名称"+root.getName()+"节点值"+root.getText())
}
return bean;
}
不管有多少层都可以输出