javaweb(04) xml
xml简介
什么是xml
xml(eXtensible Markup Language) 是可扩展的标记性语言。xml的使命,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务。
xml的主要作用
- 用来保存数据,而且这些数据具有自我描述性
- 它还可以做为项目或者模块的配置文件
- 还可以做为网络传输数据的格式(现在以JSON为主)
xml示例
xml的格式跟html差不了太多,重点掌握解析方式。
<?xml version="1.0" encoding="utf-8" ?>
<!--xml声明 version是版本的意思,encoding是编码-->
<books>
<book>
<name>my life will...</name>
<author>deserts</author>
<price>152.0</price>
</book>
<book>
<name>城市</name>
<author>deserts</author>
<price>199.0</price>
</book>
</books>
xml解析体系
主要学习dom4j解析方式
dom4j解析技术
使用示例
使用之前先将jar导入到当前模块(以前面的xml代码为例)
运行结果:
由此可知,rootElements的elements()能获取所有子节点,getName()方法获取的是当前节点的节点名,其它方法:
根元素:
子节点集:
获取每本书的信息:
运行结果:
步骤总结:
- 通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象
- 通过 Document 对象。拿到 XML 的根元素对象
- 通过根元素对象。获取所有的 book 标签对象
- 遍历每个 book 标签对象。使用elementText()获取每个标签里面的内容
xPath快速查找
xPath是在xml文档中查找信息的语言,主要通过元素和属性进行查找,简化了Dom4j查找节点的过程,使用前需要导包。
语法:
语法 | 描述 |
---|---|
/students/student | 从根元素开始逐层找 |
//name | 直接获取所有name元素对象 |
//student/* | 获取所有student元素的所有子元素对象 |
//student[1]或//student[last()] | 获取所有student元素的第一个或最后一个 |
//student[@id] | 获取所有带id属性的student元素对象 |
//student[@id=‘002’] | 获取id=002的student元素对象 |
使用示例:
此外还可以用selectSingleNode()获取单个节点