黑马程序员技术交流社区
标题:
【石家庄校区】XML笔记
[打印本页]
作者:
htb52110
时间:
2017-11-27 18:11
标题:
【石家庄校区】XML笔记
本帖最后由 htb52110 于 2017-11-27 18:13 编辑
XML
XML
1、XML
1.1、XML的概述
XML 指可扩展标记语言(
E
Xtensible
M
arkup
L
anguage)
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区
特殊字符:
clipboard.png
(3.26 KB, 下载次数: 11)
下载附件
2017-11-27 18:12 上传
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的语法:
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2