学习xml之前您需要了解HTML和Javascript
1.简介
xml:extensible markup language:可扩展标记语言。
作用:传输和存储数据。
一个对比:HTML是用来显示数据的,而xml是用来存储和传输数据。
特点:没有预定义的标签,需要自己定义。
xml是w3c的推荐标准。
2.用途
Web开发和简单的数据存储和传输。
实现网页中部分需要动态展示的模块的显示,使用js调用。
因为xml是以纯文本的形式编写,所以简化了存储,传输和平台的变更。
可以使用xml创建自己的语言,没错,就是自己的编程语言(如果你有时间,精力和技术)。
3.xml的树状结构
一个实例了解:
<!-- 声明 版本1.0 编码采用UTF-8 --> <?xml version="1.0" encoding="UTF-8"?> <note> <to>Mum</to> <from>child</from> <heading>miss</heading> <body>i miss you</body> </note> <!-- 其中note是根元素,to,from,heading和body是子元素 -->
xml有出色的自我描述功能。
关于xml的树的知识,建议不了解的同学学习一下计算机的数据结构——树。
4.语法
除了声明外,其他标签必须被关闭。
对大小写敏感。
必须被正确嵌套。
必须有根元素。
xml的属性以键值对出现,且属性必须加引号。
<note date="25/5/2017"> <caption></caption> </note>
像HTML一样,xml也存在实体引用。
<note date="25/5/2017"> <!-- 小于符号和标签会发生解析错误,需要用其他的东西替代 --> <!-- 这个例子是错误的 --> <caption>3<5</caption> </note>
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
关于空格:在HTML中空格会被省略,但在HTML中不会(在也不用担心恼人的空格了)
5.xml元素
关于命名:基本的方式和其他语言的命名方式相同。但是标签不能出现xml之类的命名格式。
6.属性
先来一段代码实例:
<!-- xml的属性类似于html的属性,用于提供元素的额外信息 --> <!-- 必须要加双引号或者单引号 --> <img src="cat.gif"></img> <!-- 也可以单双引号混用,弹药注意嵌套不能出错 --> <img name='A "picture"'></img>
同时xml也支持ID,和html中一样ID用于识别作用。
7.xml DTD
DTD:Document Type Definaiion:文档类型验证。
比如在html的head中<!DOCTYPE html>就是一种DTD。
DTD是用来验证你的内容结构是否符合规则的。
8.xml验证器
xml的错误会终止你的程序。
9.查看 xml 文件
主流的浏览器都可以查看xml
10.xml与css
xml通常以源码的形式显示,如果想要实现向html的效果,可以通过链接css来完成。
CATALOG { background-color: #ffffff; 100%; } CD { display: block; margin-bottom: 30pt; margin-left: 0; } TITLE { color: #FF0000; font-size: 20pt; } ARTIST { color: #0000FF; font-size: 20pt; } COUNTRY,PRICE,YEAR,COMPANY { display: block; color: #000000; margin-left: 20pt; }
xml源码:
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/css" href="cd_catalog.css"?> //这里是链接css文件 <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <TITLE>Hide your heart</TITLE> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD> </CATALOG>
除了css外,更流行的使用xslt来设置xml样式。