java解析xml字符串——DOM(Document Object Model)

package com.test;

/**
 * Created by admin on 2018/7/16.
 */

import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;


public class test{

    public static void main(String[] args) {

  

       String xml = "<?xml version=\"1.0\" encoding=\"gb2312\"?>" +
                "<Result xmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">" +
                "<row resultcount=\"1\">" +
                "<users_id>1001</users_id>" +
                "<users_name>wangwei</users_name>" +
                "<users_group>80</users_group>" +
                "<users_address>1001号</users_address>" +
                "</row>" +
                "<row resultcount=\"1\">" +
                "<users_id>1002</users_id>" +
                "<users_name>wangwei</users_name>" +
                "<users_group>80</users_group>" +
                "<users_address>1002号</users_address>" +
                "</row>" +
                "<row1 resultcount=\"1\">" +
                "<users_id>1002_1</users_id>" +
                "<users_name>wangwei_1</users_name>" +
                "<users_group>80_1</users_group>" +
                "<users_address>1002号_1</users_address>" +
                "</row1>" +
                "</Result>";

        Document doc = null;
        try {
            doc = DocumentHelper.parseText(xml); // 将字符串转为XML
            Element rootElt = doc.getRootElement(); // 获取根节点
            System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称
            Iterator iter = rootElt.elementIterator("row"); // 获取根节点下的子节点row
            Iterator iter1 = rootElt.elementIterator("row1");
            // 遍历row节点
            while (iter.hasNext()) {
                Element recordEle = (Element) iter.next();
                String users_id = recordEle.elementTextTrim("users_id"); // 拿到row节点下的子节点row值
                String users_name = recordEle.elementTextTrim("users_name");
                String users_group = recordEle.elementTextTrim("users_group");
                String users_address = recordEle.elementTextTrim("users_address");
                System.out.println("users_id:" + users_id);
                System.out.println("users_name:" + users_name);
                System.out.println("users_group:" + users_group);
                System.out.println("users_address:" + users_address);
            }

            // 遍历row1节点
            while (iter1.hasNext()) {
                Element recordEle = (Element) iter1.next();
                String users_id = recordEle.elementTextTrim("users_id"); // 拿到row节点下的子节点row值
                String users_name = recordEle.elementTextTrim("users_name");
                String users_group = recordEle.elementTextTrim("users_group");
                String users_address = recordEle.elementTextTrim("users_address");
                System.out.println("users_id:" + users_id);
                System.out.println("users_name:" + users_name);
                System.out.println("users_group:" + users_group);
                System.out.println("users_address:" + users_address);
            }



        } catch (Exception e) {

        }


    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值