记录一次处理xml格式的字符串

昨天在公司写接口逻辑的时候有一步是需要调用别的地方的接口,它返回的是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()方法获取改节点标签夹着的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值