整体介绍
◆XML介绍与用途
◆XML的语法规则
◆XML语义约束
◆Java解析XML
◆XPath路径表达式
XML系列教程 (w3school.com.cn)
XML的概念与用途
XML的全称是EXtensible Markup Language,可扩展标记语言
编写XML就是编写标签,与HTML非常类似,扩展名.xml
良好的人机可读性
XML与HTML的比较
◆XML与HTML非常相似,都是编写标签
◆XML没有预定义标签,HTML存在大量预定义标签
◆XML重在保存与传输数据,HTML用于显示信息
XML的用途
◆Java程序的配置描述文件。
◆用于保存程序的产生的数据。
◆网络间的数据传输。
XML的文档结构
◆第一行必须是XML声明。
◆有且只有一个根节点。
◆XML标签的书写规则与HTML相同。
XML声明
◆XML声明说明XML文档的基本信息,包括版本号与字符集,写在XML第一行。
通过浏览器检测语法是否出现问题
XML标签书写规则
◆合法的标签名
◆适当的注释与缩进
◆合理使用属性
◆特殊字符与CDATA标签
◆有序的子元素
合法的标签名
◆标签名要有意义。
◆建议使用英文,小写字母,单词之间使用“-”分割。
◆建议多级标签之间不要存在重名的情况。
适当的注释与缩进
◆适当的注释与缩进可以让XML文档更容易阅读。
合理使用属性
◆标签属性用于描述标签不可或缺的信息。
◆对标签分组或者为标签设置id时常用属性表示。
处理特殊字符
◆标签体中,出现”<”、”>“特殊字符,会破坏文档结构。
◆解决方案1:使用实体引用。
◆解决方案2:使用CDATA标签。
XML支持五种实体引用
CDATA标签
◆CDATA指的是不应由XML解析器进行解析的文本数据
◆从”<[CDATA[“开始,到”]]>“结束
有序的子元素
◆在XML多层嵌套的子元素中,标签前后顺序应保持一致。
XML的语义约束
◆XML文档结构正确,但可能不是有效的。
■例如,员工档案XML中绝不允许出现”植物品种”标签。XML语义约束就是用于规定XML文档中允许出现哪些元素。
◆XML语义约束有两种定义方式:DTD与XML Schema。
Document Type Definition
◆DTD(Document Type Definition,文档类型定义)是一种简单易用的语义约束方式。
◆DTD文件的扩展名为.dtd。
<!ATTLIST employee no CDATA "">表示哪些属性可以出现
DTD定义节点
◆利用DTD中的<!ELEMENT>标签,我们可以定义XML文档中允许出现的节点及数量,以hr.xml为例:
DTD定义节点数量
◆如某个子节点需要多次重复出现,则需要在子节点后增加相应的描述符。
XML引用DTD文件
◆在XML中使用<!DOCTYPE>标签来引用DTD文件。
创建DTD文件
DTD本质上也是一份XML文件,以<?xml开头
XML中标签出现顺序必须匹配DTD文件中定义的
XML Schema
◆XML Schema比DTD更为复杂,提供了更多功能。
◆XML Schema提供了数据类型、格式限定、数据范围等特性。
◆XML Schema是W3C标准。
两个文件 hr-schema.xml和hr.xsd文件
所有文件都以,xsd后缀结尾
1.声明根节点
2.复杂节点包含子节点需要下面骨架
3.节点名称若是纯文本,加上type值,如type=“string” 代表只允许输入字符串,不能拥有子节点 高级之处拥有了数据类型
department下有名字dname和住址address,所以继续书写子节点骨架
4.在xml文件中对xsd文件进行导入绑定引用
添加语句:
<hr xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=“hr.xsd”>
xsi:noNamespaceSchemaLocation=“hr.xsd”表示指明文件名
5.次数出现设置
至少一次,最多9999次
6.属性值添加 属性值相当于html里的选择器名
7..限制工作年龄18-60,修改上面age限制
Java解析xml
DOM模型与Dom4j
DOM文档对象模型
DOM(Document Object Model)定义了访问和操作XML文档的标准方法,DOM把XML文档作为树结构来查看,能够通过DOM树来读写所有元素。
Dom4j
Dom4j是一个易用的、开源的库,用于解析XML。它应用于Java平台,具有性能优异、功能强大和极其易使用的特点。
◆Dom4j将XML视为Document对象。
◆XML标签被Dom4j定义为Element对象。
利用Dom4j遍历XML
利用Dom4j更新XML
XPath路径表达式
◆XPath路径表达式是XML文档中查找数据的语言。
◆掌握XPath可以极大的提高在提取数据时的开发效率。
◆学习XPath本质就是掌握各种形式表达式的使用技巧。
◆最常用的基本表达式
XPath谓语表达式
实验