XML
eXtensible Markup Language,可扩展标记语言。用于结构化、传输和存储数据;单独的XML文档不能自己传送、接受和显示。
与HTML很像,但HTML用于显示数据,不关注数据的内容,并且可以自己创造标签。
是W3C的推荐标准。
W3C
万维网联盟(World Wide Web Consortium),一个会员组织。这个组织的工作是对web进行标准化、创建并维护WWW标准。W3C标准被称为W3C推荐/规范。
所以XML可以干什么嘛
- 将数据和HTML分离,当编辑显示动态数据的HTML文档时,从外部读取一个写好的XML文档,可以节省大量的时间。
- 简化数据共享,使得不需要使用任何的格式转换程序。
- 在互联网不兼容系统之间交换数据时更加简便。
- 用于创建新的互联网语言。许多的互联网语言是通过XML创建的。
……
XML基础
树结构
XML文档示例:
<?xml version="1.0" encoding="utf-8" ?>
<family>
<person id = "husband">
<name>Ting Guo</name>
<age>25</age>
<profession>photographer</profession>
</person>
</family>
树结构示例:
示例中的根元素是父节点,<person>元素有三个子元素<name>、<age>、<profession>。里面的所有标签名都是自己随意定义的。
语法规则
<?xml version="1.0" encoding="utf-8" ?>
<!-- 声明,可有可无,有的话,必须在XML文档内容的最前面 -->
<root>
<!-- 必须要有根元素,名字可以随便取 -->
<a>23333</a>
<!-- 每个标签必须有头有尾,要闭合 -->
<A>hhhh</A>
<!-- XML标签对大小写敏感,这个标签和楼上那个不一样 -->
<family>
<person name="FlexibleCat">Sweet</persoon>
<!-- 标签属性值必须用引号引起来 -->
</family>
<!-- 正确嵌套标签,平时各种括号怎么用的,这个就怎么用 -->
<compare> 200 < 500 </compare>
<!-- 在XML中,有的字符有特殊的意义,不能直接用,要用实体引用来代替 -->
</root>
关于实体引用,例如“<”,在XML文档中,会被解析器当作新元素的开始,所以不能直接用。
五个预定义的实体引用:
实体引用 | 符号 | 含义 |
---|---|---|
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
元素
XML元素指的是从标签开始到标签结束的所有内容,包括标签本身。元素命名规则:
- 可包含字母、数字及其他字符;
- 不能以数字或标点符号开始;
- 不能以字母xml开始,不论大小写都不行;
- 名称不能包含空格;
- 不能使用保留字;
- 避免使用字符"-"、"."、":"
当我们打开一个XML文档时,会发生什么呢?
锵锵锵~这个人戏真多
正确的XML文档打开是自带可折叠的结构的,可以使用XSLT或CSS来格式化XML文档,使显示看起来更加舒适。(XSLT是首选的XML样式表语言)
一个优秀的XML文档打开是不会报错的,如果你企图打开一个错误的XML文档,浏览器会报错。为了示范,就把这个XML文档最后的</family>删掉来看看吧~XML进阶
命名空间
为了避免两个不同文档使用相同元素名时产生的冲突,使用前缀来避免命名冲突,语法:
<前缀: 元素名称></前缀: 元素名称>
用于充当前缀的命名空间必须在元素开始标签的xmlns属性中被定义,所有带相同前缀的子元素都会与同一个命名空间相关联。语法:
xmlns: 前缀=“URI”
这里补充一个关于URI的小知识点。
URI,Uniform Resource Identifier,统一资源标识符。
可以标识因特网资源的字符,包括URL、URN等。
URL(统一资源定位器),URN(统一资源命名)
在实际使用中的命名空间,会使用XSLT。
CDATA
XML文档中只有CDATA区段中的文本不会被解析器解析。
语法:
<![CDATA[ 文本内容 ]]>
注意:CDATA部分不能包含字符串"]]>",也不能嵌套CDATA部分,结尾"]]>"不能包含空格或换行。
这个可以把包含了大量类似"<"、"&"字符的文本放进去。
编码
使用正确的编码属性以及支持编码的编辑器,可以使浏览器显示结果正确。
服务器上存储
XML文档和HTML的文档类似,在Internet服务器上进行存储的方式与HTML文档完全相同。
通过ASP、PHP、数据库来生成XML,都是使用输出行为来形成。
XML DOM
这一块内容,归到下一篇的DOM去仔细整理,DOM定义了一个访问XML的标准方式。