5.DOM4J解析网络xml文档

DOM4J解析网络xml文档

  • 下面开始解析网络发来的xml文件,将其转为dom文档对象,并获取各个节点和内容。
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

/**
 * 解析网络xml文件-DOM4J解析器
 * 1.下面给出一个接口,通过传递手机号参数,传回一个xml文档描述这个手机号所属地
 * 2.下面开始解析网络发来的xml文件,将其转为dom文档对象,并获取各个节点和内容。
 */
public class MainXML2 {
    public static void main(String[] args) throws IOException, DocumentException {
        String phone="18751902567";
        //1.获取到xml资源的输入流
        URL url=new URL("http://apis.juhe.cn/mobile/get?phone="+phone+"&dtype=xml&key=9f3923e8f87f1ea50ed4ec8c39cc9253");
        URLConnection conn = url.openConnection();//打开连接
        InputStream is = conn.getInputStream();//获取输入流
        //2.创建xml读取对象
        SAXReader sr = new SAXReader();
        //3.通过读取对象sr,读取xml数据,并返回文档对象(dom树)
        Document doc = sr.read(is);
        //4.获取根节点
        Element root = doc.getRootElement();
        //5.解析内容(解析xml即获取dom树各个节点内容),参照该网站传回的xml格式进行解析
        String code = root.elementText("resultcode");//获取resultcode子节点内容
        if ("200".equals(code)){
            //若码为200,表示手机号没问题,获取result子节点
            Element result = root.element("result");
            //获取result节点下的省份内容
            String province = result.elementText("province");
            String city = result.elementText("city");
            if (province.equals(city)){
                //若省份和城市同名
                System.out.println("手机号码归属地为:"+city);
            }else {
                //省份和城市不同名
                System.out.println("手机号码归属地:"+province+city);
            }
        }else{
            System.out.println("请输入正确的手机号");
        }
    }
}

拿到了xml中province和city节点的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值