XML学习笔记1 基础
XML基础
XML(EXtensible Markup Language 可扩展标记语言)被设计用来传输和存储数据,其与HTML不同,后者主要用于显示数据。XML的标签没有被预定义,需要自行定义标签。
XML的用途:
- 把数据从HTML中分离
- 纯文本存储,简化数据共享
- 简化数据传输
- 简化平台变更
- 创建新的语言,例如RSS,XHTML等
XML示例
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
- 第一行是XML声明,定义XML的版本和使用的编码
- XML与HTML类似,也是树形结构,每个元素都可拥有文本内容和属性
XML语法规则
- 所有XML元素都必须有关闭标签
- XML标签对大小写敏感,
<Letter>
和<letter>
是不同的 - XML元素必须被正确的嵌套
- XML文档必须具有根元素,其是所有其他元素的父元素
- XML的属性值必须加引号(” “),这点与HTML类似
- 某些字符必须用实体引用来代替,否则会产生错误
注释与HTML类似
XML中空格会被保留,而不会将多个空格合并
- XML以LF字符存储换行
XML元素
- XML元素名称可以包含字母、数字以及其他字符,不能包含空格
- XML元素名称不能以数字或标点符号开头,且不能以字符”xml”(或XML、Xml)开始
- XML元素时可扩展的,可以在不中断应用程序的情况下进行扩展
XML属性
属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护
- XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素
使用CSS显示XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="cd_catalog.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>
CATALOG{ background-color: #ffffff; width: 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; }
- 使用CSS格式化XML不是常用的方法,推荐使用XSLT
使用XSLT显示XML
XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善,首选的 XML 样式表语言
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="simple.xsl"?>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>
two of our famous Belgian Waffles
</description>
<calories>650</calories>
</food>
</breakfast_menu>
- 可以在服务器上通过 XSLT 转换 XML为任意文本的描述语言
还没有评论,来说两句吧...