总的大纲:https://www.cnblogs.com/superjt/p/3310307.html
1.解析XML文件
2.解析XML字符串
//上面的都是调取影像的接口获取XML报文,以下进行解析
Document document = DocumentHelper.parseText(result);
Element root = document.getRootElement();
//获取返回的状态
String res_code = root.elementText(“RESPONSE_CODE”);
System.out.println("返回的状态: " + res_code);
//如果不是200就返回null
if (res_code != “200”) {
return null;
}
//获取zip的下载地址
String url = root.elementText(“IMAGE_ZIP_URL”);
System.out.println("返回的下载地址URL: " + url);
//自己创建一个zip名字
String zipID = IDUtil.getId();
String zipName = zipID + ".zip";
//下载zip
String path = "src/main/resources/temporary/";
DownloadUtil.download(url, zipName, path);
//解压zip到zipID文件夹中(zip文件的前缀)
ZipUtil.unZip(path+zipName,path+zipID+"/");
//下面对压缩后的XML文件进行解析获取相对应照片的name并存入map中
Document docXML = null;
//读取XML文件
try {
SAXReader reader = new SAXReader();
File file = new File(path+zipID+"/busi.xml");
docXML = reader.read(file);
} catch (DocumentException e) {
throw new DocumentException("读取busi.xml文件出错");
}
//获取根节点
Element rootXML = docXML.getRootElement();
//获取根节点下面的子节点
List<Element> pages = rootXML.elements("PAGES");
//获取遍历子节点下的孙节点,并获取孙节点的属性存入到Map中
Map map = new HashMap();
for (Element elment :
pages) {
System.out.println("Pages节点在被遍历");
List<Element> page = elment.elements("PAGE");
//遍历page属性,获取属性值并存到map中
for (Element element : page) {
String key = element.attributeValue("DOC_TYPE");
String value = path+zipID+"/"+element.attributeValue("PAGE_URL");
map.put(key,value);
}
}
本文详细介绍了从影像接口获取XML报文的方法,并通过解析XML获取状态与ZIP下载链接,实现图片资源的下载与解压,同时展示了如何读取解压后的XML文件,提取图片名称并存储为Map。
1097

被折叠的 条评论
为什么被折叠?



