XML初涉
XML初涉
XML(可扩展标记语言),和HTML很像,但设计出来的目的和HTML不同。HTML设计出来的目的是为了方便显示网页的内容和布局关注点在数据的显示:而XML被设计用来传输和存储数据,关注点在数据的内容。
总结:HTML关注显示信息,XML关注传输信息。
因此在设计WEB应用的时候,我们可以使用XML来存储需要显示的数据内容,HTML来数据显示的布局和样式。这样就可以做到视图和数据的分离,更新网页的视图时只需读取解析XML文件即可。同时更改数据内容时,不会影响界面原来的布局。
XML以纯文本的格式进行存储,所以XML是一种独立于软件和硬件的数据存储方法。
同时,只要应用程序能够解析XML的格式,就可以读取XML文件中的数据,所以XML也能够用于其他应用(比如:电子书)而不仅仅是用在浏览器的应用中。
简单的XML文件实例
<?xml version="1.0" encoding="UTF-8"?>
<notefile>
<data>
这是一个XML文件的显示结构
</data>
</notefile>
第一行是XML的声明,定义了XML的版本(一般是1.0),使用的编码的格式:UTF-8(万国码)。此声明不是必须的,如果没有的话,XML默认的编码和版本和本例子的声明相同。
第二行描述的是文档的根元素,说明了这是一个文件,也是最外层的标签,XML的标签和HTML的标签有个很大的不同的地方,使用者可以自定义标签的内容,使用起来非常灵活。XML和HTML一样标签是以一对开启标签和结束标签作为一个标记,最后一行则是的关闭标签。
第三行,则是内层的标签,用来说明这是一个数据,标签也是自定义的。
XML文档的结构
XML文档的结构是一种树结构,必须包含根元素,该元素是所有其他元素的父元素。文档的元素形成了一个文档树,从根元素开始一直扩展到树的最低端。
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
文档树的逻辑结构
如果根元素有多个相同子元素的实例,则对于每个实例都需要使用标签进行标记。
父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。
下面是一个例子:
PS:开启标签内可填写标签的属性,属性必须 为字符串类型,否则会出现编码错误
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
参考:菜鸟教程