最近在工作中,需要调别的接口,接口返回的是一个xml格式字符串,可能包含多个item节点,通过dom4j来解析这个xml字符串。其中需要导入dom4j-2.0.2.jar和jaxen-1.1-beta-6.jar两个jar包,我这边上传不了大家可以自行搜索,xml格式如图:
解析代码如下:
String remommendUrl = "https://xxxx";
HttpClient httpclient = new HttpClient();
HttpMethod method = new GetMethod(remommendUrl);
httpclient.executeMethod(method);
String strResponse = new String(method.getResponseBody(), "utf-8");
//打印服务器返回的状态
System.out.println(method.getStatusLine());
//打印返回的信息
System.out.println(strResponse);
Document document = DocumentHelper.parseText(strResponse);
//获取根节点
Element root = document.getRootElement();
System.out.println("根节点:" + root);
//获取根节点下channel节点
Iterator channel = root.elementIterator("channel");
while (channel.hasNext()) {
Element recordEle = (Element) channel.next();
//获取item节点
Iterator item = recordEle.elementIterator("item");
while (item.hasNext()) {
Element abkRecord = (Element) item.next();
String title = abkRecord.elementTextTrim("title");
String video = abkRecord.elementTextTrim("video");
String thumb = abkRecord.elementTextTrim("thumb");
String pubDate = abkRecord.elementTextTrim("pubDate");
System.out.println(title + "-" + video + "-" + thumb);
}
}
//释放连接
method.releaseConnection();