你在项目中用到了xml技术的哪些方面?如何实现的?
用到了数据存储,信息配置两方面。
- 在做数据交换平台时,将数据源中的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。
- 在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。
XML文档约束
- 文档约束:是用来限定xml文件中的标签以及属性应该怎么写。以此强制约束程序员必须按照文档约束的规定来编写xml文件。
- 两种形式 DTD,Schema
DTD(语法简单,功能简单)
- 可定义合法的XML文档构建模块,约束XML文件的编写。
- 不能约束具体的数据类型。
Schema(语法复杂,功能强大)
- 可以约束XML文件的标签内容格式,以及具体的数据类型。
- 本身也是xml文件,格式更严谨。
XML文档解析技术
使用程序读取XML中的数据
解析方式:DOM,SAX,STAX
DOM:将标记语言文档一次性加载进内存,在内存中形成一颗 DOM树(一般在服务器端)
- 树形解析,将读入的xml文件转换成树结构
- 优点:操作方便,可以对文档进行 CRUD 的所有操作
- 缺点:占用内存
SAX:逐行读取,基于事件驱动的。(一般在移动端)
- 流机制解析,在读入xml文件时生成相应的时间
- 优点:不占内存
- 缺点:只能读取,不能增删改
XML 解析器
- JAXP:Sun公司提供的解析器,支持 dom 和 sax 两种思想
- DOM4J:一款非常优秀的解析器,会 dom 方式进行了封装。
- Jsoup:是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
- PULL:Android 操作系统内置的解析器,跟 sax 方式非常类似都是事件机制解析 xml文件的。