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创建简单的内容处理程序
python项目练习3:万能的XML的更多相关文章
- 第22章 项目3:万能的XML
Mix-in:混入类,是一种Python程序设计中的技术,作用是在运行期间动态改变类的基类或类的方法,从而使得类的表现可以发生变化.可以用在一个通用类接口中. 在实践一个解析XML文件的实践中,体会动 ...
- python项目
python实战项目: http://www.the5fire.com/category/python实战/ python基础教程中的十个项目: python项目练习一:即时标记 python项目练习 ...
- Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- pyinstaller使用-python项目转换成exe可执行文件
http://blog.csdn.net/pipisorry/article/details/50620122 Python不是每个人的计算机里面都有安装,当您写了一个好用的工具,需要一个standa ...
- Jenkins部署Python项目实战
一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...
- Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)
原始链接:http://blog.csdn.net/a464057216/article/details/52934077 requirments OS: Ubuntu 14.04+ Gitlab 8 ...
- python 项目中包中__init__.py文件的作用
开发python项目时,我遇到了一个这样的现象,当我新建一个pythonpackage时,总会自动地生成一个空的__init__.py文件,因为是python新手,所以很不了解这个空文件的作用是什么, ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
随机推荐
- mysql explain 命令讲解
explian命令可以显示select语句的执行计划 explain的结果中每行对应select语句中的一个表,输出结果中的顺序是按照语句处理表的顺序. mysql使用嵌套循环来处理所有的join连接 ...
- 阿里云的ubuntu server 12.04 下安装jdk和tomcat
因为想自己在做个简单粗暴的小游戏,弄到朋友圈去,买了个阿里云服务,当时选的的ubuntu sever 12.04的os,恰巧朋友又委托一个小项目,所以先尝试搭建下环境. 首先,用putty或者SSH ...
- wampserver环境下,安装ucenter1.6.0
1,)从官网下载UCenter_1.6.0_SC_UTF8.zip,解压拷贝upload到www下,重命名upload->ucenter; 2,)D:\wamp\bin\apache\Apach ...
- PostgreSQL Replication之第十二章 与Postgres-XC一起工作(2)
12.2安装 Postgres-XC 可以从 http://postgres-xc.sourceforge.net/下载Postgres-XC.对于本书,我们使用1.0.3版本的Postgres-XC ...
- codevs 1203 判断浮点数是否相等
http://codevs.cn/problem/1203/ 1203 判断浮点数是否相等 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题解 查看运行 ...
- 封装upload文件上传类
<?php //封装php中的单文件(图片)上传类 /* //参数1:$file 文件数组 5个属性值 name,type,size,tmp,error //参数2:文件保存的路径$pa ...
- <构建之法>之一至二章
身在大学,却想起了在高中的生活和初中的生活,特别是初中的生活,为什么这么说呢!因为<构建之法>,看了其中的两章的内容,为什么想到了初中和高中的生活呢,因为在高中和初三的时候看的最多的就是课 ...
- windows下gvim与gcc的一键环境的搭建
此处略去在windows中配置gcc的方法.默认你已经能够在命令提示符下直接使用gcc了. 其实就是写了一个vimscript的.vim文件,然后在 _vimrc 中使用source命令引用进来. 以 ...
- 【Install】我是如何安装Linux类系统的
安装系统:ubuntu12.04 i386 DVD U盘启动12.04live系统 连线,设置连接 安装系统到硬盘 “语言支持”,更新 安装gnome经典界面 sudo apt-get i ...
- cvCreateImage函数说明(转载)
cvCreateImage是openCV中的一个函数.OpenCV是Intel公司支持的开源计算机视觉库. cvCreateImage:创建首地址并分配存储空间 IplImage* cvCrea ...