本文主要学习《Beginning Python》中的第三个实践项目“Project 3: XML for All Occasions”。这个项目主要向读者展示:python编程中XML的应用。就像这个项目的标题所示,XML的功能很强大,可以应用于各种场合,而这个项目主要通过一个XML文件来生成一整个网站,包括:网页和网页目录(web pages and directories)。
学习这个项目,我们需要把握如下几点:
1)什么是XML?
2)XML有什么用?(有什么优点?)
3)python编程中如何使用XML?
下面我将沿着这三个问题,并结合这个项目来学习python - xml。
一、XML
如果你熟悉HTML,那么你对XML就不会太茫然,它们都是标记语言(Markup Language)家族中的一员。HTML全称是“Hyper Text Markup Language”(超文本标记语言),是一种公共的标记语言,遵循统一的标准格式,这个格式由W3C(World Wide Web Consortium)执行并维护。想要简单了解HTML的格式,可以访问W3C的网站:
http://www.w3.org/MarkUp/Guide/
相对HTML而言,XML可以称为自定义的标记语言,它没有统一的标准,提供了最大的灵活性。同样地,通过W3C也可以了解XML:http://www.w3school.com.cn/x.asp
有一种说法是:HTML被设计用来显示数据,XML被设计用来传输和存储数据。
HTML遵循统一的标准,因此,不同的操作系统,不同的设备,只要安装了浏览器,都可以查看HTML文件,并且在查看的时候仅呈现数据而隐藏标记。比如,我可以在Windows PC上访问www.w3.org,也可以在iphone和ipad上访问它,甚至我也可以在Kindle上访问它。的确,HTML用来显示数据很方便。
XML文件事实上是一个结构化的数据文件,它不仅能存储数据,而且能够很好的保存数据之间的结构关系。本文将要学习的这个项目就通过一个单个的XML文件保存了一整个网站的数据,并很好的保存了网页目录和网页之间的包含关系。事实上,我们常用的一些软件都包含了XML。比如:QT Designer生成的.ui文件就是一个XML文件,Visual Studio的.sln文件、.vcxproj文件等都是XML文件。
那么,什么是XML文件呢?
简单来讲,带自定义标签的数据文件就是XML文件,如下:
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
下一个问题: XML文件存储数据有什么优点?
回到Project 3,它用一个单一的XML文件保存了整个网站的数据,并可以通过这个XML文件生成整个网站。这么说了,XML文件有如下几个优点:
1)它的信息密度大;
2)它的信息丰富,不仅存储了数据?