【达内课程】XML介绍
http://www.w3school.com.cn/xml/index.asp
XML语法规则
所有XML元素必须有关闭元素
XML标签对大小写敏感
XML必须正确嵌套
XML文档必须有根元素,且只有一个根元素
XML的属性必须加引号
XML中的注释
<!-- --
>
实体引用
在assets下新建一个books.xml
<?xml version="1.0" encoding="utf-8"?>
<books>
<book lan="en">
<isbn>ABC-135-4BC</isbn>
<name>十万个为什么(1)</name>
<price>100</price>
<author>Dr. Lee</author>
</book>
<book lan="en">
<isbn>ABC-136-4BC</isbn>
<name>十万个为什么(2)</name>
<price>200</price>
<author>Dr.Lee</author>
</book>
<book lan="en">
<isbn>ABC-137-4BC</isbn>
<name>十万个为什么(3)</name>
<price>300</price>
<author>Dr.Lee</author>
</book>
</books>
用浏览器查看
在源码中我们的多个空格被浏览器显示为了一个
在 XML 中,有 5 个预定义的实体引用:
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ‘ | 单引号 |
" | “ | 引号 |
如果想写小于号,会报错,我们就用到了预定义的实体引用
可以这样写
<author>Dr.<Lee</author>
浏览器查看效果
XML 命名规则
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data
在 XML 元素中,”<” 和 “&” 是非法的。
“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。
“&” 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:
<book lan="en">
<isbn>ABC-135-4BC</isbn>
<name>十万个为什么(1)</name>
<price>100</price>
<author>Dr.<Lee</author>
<![CDATA[
这是一本好书!<<<<
]]>
</book>
浏览器效果
命名空间
XML 命名空间提供避免元素命名冲突的方法
http://www.w3school.com.cn/xml/xml_namespaces.asp
DTD
文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用
假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:
<!DOCTYPE 根元素 [元素声明]>
带有 DTD 的 XML 文档实例
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
用于定义XML文档的编写格式
在DTD文档中我们定义XML包含哪些标签,标签中可以包含哪些属性,属性值的一些限制等
http://www.w3school.com.cn/dtd/dtd_examples.asp
Schema
XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 描述 XML 文档的结构