本帖最后由 htb52110 于 2017-11-27 18:13 编辑
XML
XML
1、XML
1.1、XML的概述
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准
- 允许用户自定义标签的!!!!
1.2、XML的作用
传输和存取数据
软件的配置文件
1.3、XML的使用:
XML的语法
1.4、【XML的语法】
XML的基本语法:
XML必须有关闭标签
区分大小写
属性需要有引号
标签必须正确嵌套.
XML的文档说明
文档声明:通常出现在XML的第一行第一列的位置!!!
写法:<?xml 属性名=“属性值” 属性名=“属性值” ...?>
version :必须的。使用“1.0”(必须使用)
encoding :字符集,是使用浏览器打开的时候采用的默认的字符集的编码。
standalone:描述XML文档是否需要依赖其他的文件。(基本不用)
XML的注释
<!-- XML的注释 -->
XML的元素
元素(标签)的命名规范:
XML 元素必须遵循以下命名规则:
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
- 名称中不能包含冒号(:)
可使用任何名称,没有保留的字词。
XML的属性
属性的名称规范和元素一致
属性需要使用引号!!
XML的特殊字符和CDATA区
特殊字符:
CDATA区:
XML的CDATA区:(CDATA:Character Data)
写法:<![CDATA[ 内容 ]]>
1.5、【XML的解析】
XMl的解析:从XML文档中获取想要的数据(通过代码完成的)
XML的解析方式:
DOM解析:DOM:Document Object Model
SAX解析: SAX :Simple API for XML
DOM和SAX的区别:
SAX:事件驱动的方式,一行一行的进行解析
缺点:不能对文档进行增删改的操作
优点:如果文档特别大,不会导致内存溢出
DOM:一次性将文档加载到内存,形成树形结构进行解析
缺点:如果文件特别大,容易导致内存的溢出
优点:对XML进行增删改的操作
针对这两种解析的方式,不同公司提供了不同API的实现
* JAXP :SUN公司提供的一套XML的解析的API.
* JDOM :开源组织提供了一套XML的解析的API-jdom.
* DOM4J :开源组织提供了一套XML的解析的API-dom4j.
* pull :主要应用在Android手机端解析XML.
XPath:
dom4j支持Xpath的jar包
dom4jde Xpath支持的API:
* List document.selectNodes(String xPath);
* Node document.selectSingleNode(String xPath);
2.XML的约束
2.1、XML约束的概述:
什么是XML的约束:就是用来约束XML的文档中可以出现哪些标签,不能出现哪些标签
XML的约束作用:用来规范XML的写法。
XML约束的种类集区别:
DTD和Schema
区别:
1、DTD语法是自成一体的,Schema语法就是XML语法
2、Schema的语法就是XML的语法所以更容易被解析器解析
3、Schema支持名称空间
4、Schema有比DTD更加强大的语义和语法的约束
DTD的语法:
DTD的引入方式:
内部的DTD:
<!DOCTYPE persons [
]>
外部的DTD:
一种是本地DTD
<!DOCTYPE persons SYSTEM "unknown.dtd">
一种是网络DTD
<!DOCTYPE persons PUBLIC "//UNKNOWN/" "unknown.dtd">
DTD的语法:
元素:
Schema的语法: |
|