昨天在公司写接口逻辑的时候有一步是需要调用别的地方的接口,它返回的是xml格式类型的字符串,需要对它进行处理。假设下面是xml格式的字符串:
<?xml version="1.0" encoding="GBK"?>
<doc>
<Method>
<person>
<data>zhangsan</data>
<data>32</data>
</person>
<person>
<data>lisi</data>
<data>22</data>
</person>
<Method>
</doc>
利用下面的代码来获取所有<data>节点的值。需要引入dom4j的包。
public static void main(String[] args){
Document doc = null;
try{
//将xml格式的字符串rs转换成xml类型
doc = DocumentHelper.parseText(rs);
//获取根节点
Element rootElt = doc.getRootElement();
//往下一层,获取Method节点
Element methodElt = rootElt.element("Method");
//往下一层,获取Method下面的所有节点,也就是两个people节点
List<Element> peopleElts = methodElt.elements();
//遍历people节点
for(Element e : peopleElts){
//往下一层,获取当前people节点下面的所有节点,也就是两个data节点
List<Element> dataElts = e.elements();
for(int i = 0; i < dataElts.size(); i++){
System.out.println(dataElts.get(i).getStringValue());
}
System.out.println("=============================");
}
}
}
总结
以后处理xml格式的字符串的时候:
第一步,将字符串转换成xml
第二步,获取根节点
第三步,根据需要获取某个节点的指定子节点(们);
第四步,通过节点的getStringValue()方法获取改节点标签夹着的值。