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项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
随机推荐
- Process启动.exe,当.exe内部抛出异常时,总会弹出一个错误提示框,阻止Process进入结束
public class TaskProcess { [DllImport("kernel32.dll", SetLastError = true)] public static ...
- 3D照片放大展示窗口
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- 小项目:mini资源管理器【使用IO流:包含(Directory与DirectoryInfo、File与FileInfo的用法)】
主界面是这样的 1.在点击查询引发的事件时把TextBox.Text输入的目录地址加载到TreeList控件里. private void btnSelect_Click(object sender, ...
- it精英的艰辛路程
我出生在呼和浩特市,但我并不是蒙古族人,而是彻彻底底的汉族人.我父亲小时候因为家里穷,十八九岁就独自出来闯荡了,后来在呼和浩特市发展的不错,还遇到了我妈,就定居下来了,结婚两年后就有了我. 小时候的家 ...
- 安装好android的adt以后重启eclipse,但是没有创建AVD的图标
安装好android的adt以后重启eclipse,但是没有创建AVD的图标: 解决方法: 1. 先检查ADT是否已经安卓成功 2. Windows--- Customize Perspective ...
- vim下正则表达式的非贪婪匹配
贪婪模式是: .* 非贪婪模式是: .\{-}
- html5的download下载标签
Html5的下载标签download <a href="files/1.jpg" download="1.jpg">Download</a&g ...
- How to change Jenkins default folder on Windows?
http://stackoverflow.com/questions/12689139/how-to-change-jenkins-default-folder-on-windows accepted ...
- 【NOIP模拟赛】正方形大阵
正方形大阵 [问题描述] [输入格式] 第一行一个正整数n代表询问次数. 接下来n行每行一个不超过八位的小数k代表一组询问. [输出格式] 输出共n行,代表每次询问的答案:如果有无数个交点 ...
- 赤手空拳编写C#代码
有时候服务器上并没有安装任何IDE或典型的代码编辑器,只能完全手写C#代码. 不妨假设一台全新的PC,较新版本的Windows自带了.net框架,无需开发工具即可编程了. 除了以往的Bat批处理.VB ...