XML的解析

xml文本如下:

<root>
    <name>百度</name>
    <url>http://www.baidu.com</url>
    <address>
        <street>中关村</street>
        <city>北京</city>
        <country>中国</country>
    </address>
    <links>
        <name>Google</name>
        <url>http://www.google.com</url>
    </links>
    <links>
        <name>Baidu</name>
        <url>http://www.baidu.com</url>
    </links>
    <links>
        <name>SoSo</name>
        <url>http://www.SoSo.com</url>
    </links>
</root>

示例代码:

String xml = "<root>" +
                "<name>百度</name>" +
                "<url>http://www.baidu.com</url>" +
                "<address>" +
                "<street>中关村</street><city>北京</city><country>中国</country>" +
                "</address>" +
                "<links><name>Google</name><url>http://www.google.com</url></links>" +
                "<links><name>Baidu</name><url>http://www.baidu.com</url></links><links>" +
                "<name>SoSo</name><url>http://www.SoSo.com</url></links>"+
                "</root>";


        try {
            //取得文档对象
            Document doc = (Document) DocumentHelper.parseText(xml);

            //取得根节点
            Element rootElement = doc.getRootElement();

            //取得name节点
            Element nameElement = rootElement.element("name");
            String name = nameElement.getStringValue();
            System.out.println("name:"+name);

            //取得url节点
            Element urlElement = rootElement.element("url");
            String url = urlElement.getStringValue();
            System.out.println("url:"+url);

            //取得根节点中的address节点
            Element addressElement = rootElement.element("address");

            //取得address节点中的street节点
            Element streetElement = addressElement.element("street");
            String street = streetElement.getStringValue();
            System.out.println("street:"+street);

            //取得address节点中的city节点
            Element cityElement = addressElement.element("city");
            String city = cityElement.getStringValue();
            System.out.println("city:"+city);

            //取得address节点中的country节点
            Element countryElement = addressElement.element("country");
            String country = countryElement.getStringValue();
            System.out.println("country:"+country);

            //取得根节点中的links集合
            List<Element> linksElements = rootElement.elements("links");
            for (int i = 0; i < linksElements.size(); i++) {
                System.out.println("*************"+i+"************");
                String lName = linksElements.get(i).element("name").getStringValue();
                System.out.println("lName:"+lName);
                String lUrl = linksElements.get(i).element("url").getStringValue();
                System.out.println("lUrl:"+lUrl);
            }

        } catch (DocumentException e) {
            e.printStackTrace();
        }

运行结果:

name:百度
url:http://www.baidu.com
street:中关村
city:北京
country:中国
*************0************
lName:Google
lUrl:http://www.google.com
*************1************
lName:Baidu
lUrl:http://www.baidu.com
*************2************
lName:SoSo
lUrl:http://www.SoSo.com

其中用到了dom4j.jar这个库,下载地址:http://download.csdn.net/detail/tuu_zed/8810405

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值