python项目练习3:万能的XML

时间:2023-03-09 02:32:37
python项目练习3:万能的XML

1.目的

  如何用XML来表示多种数据,以及如何使用适合XML或SAX的简单API来处理XML文本。目标是通过一个描述各种网页和目录的XML文件生成一个完整的网站。

注:有关XML的描述参见http://www.w3school.com.cn/ ;有关SAX的更多信息参见http://www.saxproject.org

2.问题

  本项目要解决的常见问题就是解析(读取和处理)XML文件:因为使用XML几乎能表示任何数据,并且在解析的时候可以随意处理数据

3.实现

3.1验证python版本是否支持SAX语法分析器

>>> from xml.sax import make_parser

>>> parser = make_parser()

执行后没有异常则可以使用 (较新的python版本都支持)

3.2用XML文件表示的简单网站(website.xml)

 <website>
<page name="index" title="Home Page">
<h1>Welcome to My Home Page</h1> <p>Hi, there. My name is Mr. Gumby, and this is my home page. Here
are some of my interests;</p> <ul>
<li><a href="interests/shouting.html">Shouting</a></li>
<li><a href="interests/sleeping.html">Sleeping</a></li>
<li><a href="interests/eating.html">Eating</a></li>
</ul>
</page>
<directory name="interests">
<page name="shouting" title="Shouting">
<h1>Mr Gumby's Shouting Page</h1> <p>...</p>
</page>
<page name="sleeping" title="Sleeping">
<h1>Mr Gumby's Sleeping Page</h1> <p>...</p>
</page>
<page name="eating" title="Eating">
<h1>Mr Gumby's Eating Page</h1> <p>...</p>
</page>
</directory>
</website>

website.xml

本次解析XML采用SAX的方法,包括编写一组时间处理程序,当解析器度XML文档时,就可以让它调用这些处理程序来完成解析
3.2.1创建简单的内容处理程序