[发明专利]一种遥感元数据的模糊XML压缩方法有效
申请号: | 202011086120.X | 申请日: | 2020-10-12 |
公开(公告)号: | CN112214461B | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 丁文珂;陈万;鲍立杰;韩道军;姬毅飞;沈亚田;许涛;沈夏炯;张磊 | 申请(专利权)人: | 河南大学 |
主分类号: | G06F16/174 | 分类号: | G06F16/174;G06F16/81 |
代理公司: | 郑州睿途知识产权代理事务所(普通合伙) 41183 | 代理人: | 李伊宁 |
地址: | 475001 河南*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 遥感 数据 模糊 xml 压缩 方法 | ||
1.一种遥感元数据的模糊XML压缩方法,其特征在于,包括以下步骤:
A:读取模糊XML文档,并以变量形式保存模糊XML文档的路径;
B:获取模糊XML文件中所有结点的结点信息并以Map类型变量存储,将模糊XML文件由XML类型转化为Map类型;
步骤B包括以下具体步骤:
B1:首先创建一个LinkedHashMap集合,以结点先序遍历的顺序来存储模糊XML文档的树形结构,并使用map_finall变量保存;然后创建一个file对象,file对象读入步骤A中得到的filepath变量,从而获取到模糊XML文件的信息;再使用解析器SAXReader()读入file对象将模糊XML文件解析为doc1变量,doc1变量类型为Document对象类型;
B2:首先通过getRootElement()方法获取doc1变量的根结点,并将根结点用rootElement变量保存;然后判断根结点是否含有子结点,若不含有子结点,则直接通过getNum()方法和getText()方法获取到根结点的结点信息,然后将得到的根结点的结点信息封装到map_finall变量中,并跳转到步骤B4;若含有子结点,则进入步骤B3;结点信息包括结点编号信息和结点属性信息;
B3:通过根结点调用递归方法recursion()获取到所有结点的结点信息;
B4:将集合map_finall以变量map另存,实现模糊XML文件由XML类型转化为Map类型;
C:将步骤B中得到的所有结点的结点信息转化为XML类型,再根据写入结点的位置写入结点,并更新写入结点的结点编码,最终将步骤B中得到的Map类型的模糊XML文件转化为XML类型;
步骤C包括以下具体步骤:
C1:首先创建一个Map类型的集合rootMap,存储结点信息,然后通过map.get(parentNum)方法将集合rootMap的初始值赋值为根结点的结点信息;再创建一个Document对象定义为doc2变量,用于获取变量map中结点的结点信息,同时将doc2变量的编码格式设置为“utf-8”格式,再通过addElement(parentNum)方法依次向doc2变量中加入结点;其中,rootMap为自定义的集合名称,map.get(parentNum)为现有的获取根结点的结点信息的方法,addElement(parentNum)为现有的加入根结点的方法;
C2:通过getRootElement()方法获取到根结点,从根结点调用iterator()方法开始迭代,获取到所有结点的结点信息,并以String类型的变量xml保存;其中,iterator()方法为现有的集合迭代方法,xml为自定义的储存所有结点信息的变量名称;
C3:对迭代后获得的变量xml进行格式化;首先创建一个String类型的变量requestXML用于储存格式化后的变量xml,创建一个对象writer,对象writer为XMLWriter类型,对Map类型的模糊XML文件中的结点进行写入;requestXML为自定义的变量名称,writer为自定义的写入对象名称;
C4:创建Document对象定义为document变量,用于暂存中间文档,创建解析器reader用于解析读入变量xml,解析器reader为SAXReader解析器;然后通过解析器reader与StringReader(xml)方法对变量xml进行解析,并将解析后的xml以变量document临时储存;然后创建一个变量stringWriter用于变量xml的字符串流写入,变量stringWriter为StringWriter对象,创建变量format用于规定转化后模糊XML文档的格式,变量format为OutputFormat对象,其中规定的格式包括每一级结点前设置空格缩进、变量xml声明和内容之间不添加空行、添加变量xml头部声明、设置编码格式为“GB2312”以及设置分行;变量document为自定义的变量名称,reader为自定义的解析器名称;StringReader(xml)方法为现有的以字符串流读取XML文档的方法,stringWriter为自定义的以字符串流写入对象名称,format为自定义的文档格式变量名称;
C5:通过xml.StandaloneWriter(stringWriter,format)方法将变量xml逐步写入到对象writer中,最终得到更新后的对象writer;其中,xml.StandaloneWriter(stringWriter,format)方法为现有的以字符串流写入的方法;
C6:将更新后的对象writer通过getBuffer()方法和toString()方法,以字符串流的形式储存到最终的变量requestXML中,所获得的变量requestXML即为转化后的模糊XML文档,即压缩后的模糊XML文档;
D:输出压缩后的模糊XML文档。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南大学,未经河南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011086120.X/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置