如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。反复练习直到熟练。————百战程序员
1.0 XML
1.1 XML 简介
XML 指可扩展标记语言。XML 被设计用来传输和存储数据。
1. 什么是XML
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准
2. XML 和 HTML 的主要差异
- XML 不是 HTML 的替代。
- XML 和 HTML 为不同的目的而设计。
- XML 被设计为传输和存储数据,其焦点是数据的内容。
- HTML 被设计用来显示数据,其焦点是数据的外观。
- HTML 旨在显示信息,而 XML 旨在传输信息。
3. 没有任何行为的XML
XML是不作为的。
也许这有点难以理解,但是 XML 不会做任何事情。XML 被设计用来结构化、存储以及传输信息。
4. XML 仅仅是纯文本
XML没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理XML。
不过,能够读懂XML的应用程序可以有针对性地处理XML标签。标签的功能性意义依赖应用程序的特性。
5. 通过XML您可以发明自己的标签
XML 没有预定义的标签。
在 HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 <p> 、<h1> 等等)。
XML 允许创作者定义自己的标签和自己的文档结构。
6. XML 不是对 HTML 的替代
XML 是对 HTML 的补充。
XML 不会替代 HTML,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。
对 XML 最好的描述是:
XML 是独立于软件和硬件的信息传输工具。
7. XML 是 W3C 的推荐标准
可扩展标记语言 (XML) 于 1998 年 2 月 10 日成为 W3C 的推荐标准。
8. XML无处不在
目前,XML 在 Web 中起到的作用不会亚于一直作为 Web 基石的 HTML。
XML 无所不在。XML 是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行。
1.2 XML 用途
XML 应用于 web 开发的许多方面,常用于简化数据的存储和共享。
1,XML 把数据从 HTML 分离
2,XML 简化数据共享
3,XML 简化数据传输
4,XML 简化平台的变更
5,XML 使您的数据更有用
6,XML 用于创建新的 Internet 语言
1.3 XML 树结构
XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
一个 XML 文档实例
<?xml version="1.0" encoding="utf-8"?>
<note>
<to>Li</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 。
下一行描述文档的根元素。
接下来 4 行描述根的 4 个子元素(to, from, heading 以及 body)。
最后一行定义根元素的结尾。
1.4 XML 基本语法
XML的基本语法:
1)文档声明必须放在文档的第一行
2)XML有且只有一个根元素
3)所有标签必须成对出现
4)XML的标签严格区分大小写
5)XML必须正确嵌套
6)XML中的属性值必须加引号
7)XML中一些特殊字符需要使用“实体”
8)XML中可以应用适合的注释
XML元素 指的是开始标签到结束标签的部分,一个元素中可以包含其他元素,文本,属性等
XML 元素的命名规范:
1)名称可以包含字母、数字等其他字符,最好是用字母单词。
2)名称不能以数字或标点符号开始。
3)名称不能以字母XML开始
4)名称不能包含空格
1.5 验证XML文档 - Schema技术
1)Schema 是用 XML 验证 XML 遵循 XML 的语法
2)Schema 可以用处理 XML 文档的工具处理
3)Schema 大大扩充了数据类型,而且可以自定义数据类型
4)Schema 支持元素的继承
5)Schema 支持属性组
使用 Schema 验证 XML 文档的步骤:
1)创建SchemaFactory 工厂
2)建立验证文件对象
3)利用SchemaFactory 工厂对象,接受验证的文件对象,生成Schema 对象
4)产生对此Schema 的验证器
5)要验证的数据(准备的数据源)
6)开始验证
1.6 解析 XML 文档
四种方式解析XML 文档:
- DOM解析(Java官方提供)
- SAX解析(Java官方提供)
- JDOM解析(第三方提供)
- DOM4J解析(第三方提供)
1.6.1 DOM解析XML 的步骤
1)创建一个DocumentBuilderFactory的对象
2)创建一个DocumentBuilder对象
3)通过DocumentBuilder的parse(...)方法得到Document对象
4)通过getElementsByTagName(...)方法获取到节点列表
5)通过for循环遍历每一个节点
6)得到每个节点的属性和属性值
7)得到每个节点的节点和节点值
1.6.2 SAX解析XML 的步骤
1)创建SAXParserFactory的对象
2)创建SAXXParser对象(解析器)
3)创建一个DefaultHandler的子类
4)调用parse方法
1.6.3 JDOM解析XML 的步骤
1)创建一个SAXBuilder对象
2)调用build方法 得到Document对象(通过IO流)
3)获取根节点
4)获取根节点的直接子节点的集合
5)遍历集合
1.6.4 DOM4J解析XML 的步骤
1)创建SAXReader对象
2)调用read方法
3)获取根元素
4)通过迭代器遍历直接节点
四种解析XML技术的特点:
1)DOM解析:形成了树结构,有助于更好的理解、掌握,且代码容易编写。解析过程中,树结构保存在内存中,方便修改。
2)SAX解析:采用事件驱动模式,对内存消耗比较小。适用于只处理XML文件中的数据时。
3)JDOM解析:仅使用具体类 而不使用接口。API大量使用了Collect类。
4)JDOM4J解析:JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。它使用接口和抽象基本类方法。具有性能优异、灵活性好、功能强大和极易使用的特点。是一个开源的文件。
1.7 XPath 技术
XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
什么是 XPath?
- XPath 使用路径表达式在 XML 文档中进行导航
- XPath 包含一个标准函数库
- XPath 是 XSLT 中的主要元素
- XPath 是一个 W3C 标准
Java中使用XPath快速获取节点:
1)导入DOM4J包
2)导入Jaxen包
3)创建SAXReader对象
4)读取XML文件
5)获取目标节点,遍历查找目标元素
未完待续