从zip文件中解析xml文件一般步骤是先解压zip文件,然后在解析xml,这里直接从zip文件中读取xml的输入流进行解析,减少I/O操作。下面是一个从zip文件中解析xml文件的示例:
代码如下 | 复制代码 |
/** * 从zip文件中解析XML数据 * @param filePath 文件绝对路径 * @return List> * @throws IOException * @throws DocumentException * @author 大漠 */ public List List //zip文件 ZipFile zipFile = new ZipFile(filePath); //遍历zipFile文件的ZipEntry实体,即xml文件 for (Enumeration extends ZipEntry> entries = zipFile.entries(); entries.hasMoreElements();){ ZipEntry zipEntry = entries.nextElement(); //从zipFile中获取zipEntry的输入流,即xml文件的输入流 InputStream inputStream = zipFile.getInputStream(zipEntry); //以下使用dom4j解析xml文件 SAXReader reader = new SAXReader(); Document document = reader.read(inputStream); //读xml文档中datas节点的所有data子节点元素 List //xml数据格式: for (Element element : elementList) { Record record = new Record(); //data元素的record属性值 record.setRecord(element.attributeValue("record")); //data元素的date属性值 record.setDate(element.attributeValue("date")); //record添加到recordList recordList.add(record); } //关闭流 inputStream.close(); } return recordList; } |
xml
代码如下 | 复制代码 |
|
Record类:
代码如下 | 复制代码 |
public class Record { |
SpringBoot测试配置属性与web启动环境解析
vue中将el-switch值true、false改为number类型的1和0解析
Vue中的路由配置项meta使用解读
SpringBoot自定义bean绑定解析
SpringBoot常用计量与bean属性校验和进制数据转换规则解析
工厂方法在Spring框架中的运用介绍