python处理XML
基本上都是使用python来解析xml文件的。
比如我要将内容为
<?xml version="1.0" encoding="utf-8"?>
<root>
<book isbn="34909023">
<author>
dikatour
</author>
</book>
</root>
写入到xmlstuff.xml文件中去。
其实也很简单,基本原理如下:
我使用xml的DOM方式,先在内存中创建一个空的DOM树,然后不断增加我要的节点,最后形成我想要的DOM,最后输出到文件中去。
1.我使用xml.dom.minidom这个module来创建xml文件
from xml.dom import minidom
2. 每个xml文件都是一个Document对象,代表着内存中的DOM树
doc = minidom.Document()
3.有了空的DOM树后,我们在上面添加根节点
rootNode = doc.createElement("root")
doc.appendChild(rootNode) #注意python的library reference里说,createElement后并没有将节点对象加到DOM树上,需要自己手工加上
4.创建其它的节点
5.输出到xml文件中去
doc.writexml(f, "\t", "\t", "\n", "utf-8") #第一个参数f就是你的目标文件对象,第二个参数好像是<?xml>和下面一个根节点的缩进排列格式,
第三个参数好像是其他节点与子节点的缩进排列格式,第四个参数制定了换行的格式(如果你填入" ",那就不换行了,所有的xml都缩在了一行上面 :) )
,第五个参数制定了xml内容的编码。除了第一个参数是必须的,其他参数都是可选择的。
最终代码如下(这个程序没什么价值,只是用来测试验证自己的想法,你更可能定义一个简单类或函数,将你的数据结构序列化到xml文件中):
from xml.dom import minidom
import traceback
try:
f = open("xmlstuff.xml", "w")
try:
doc = minidom.Document()
rootNode = doc.createElement("root")
相关文档:
1. 手动制作python的exe可执行程序
转载---------------
Python没有内建一个编 ......
前一篇文章写的在APACHE安装MOD_PYTHON的经过,其实挺简单,就是版本不兼容的问题.这次我大概说下部署DJANGO的过程.
先修改APACHE配置文件,使其加载mod_python模块
LoadModule python_module libexec/mod_python.so
运行命令查看
bin/httpd -M可以看到
python_module (shared)
Syntax OK
说明apache已经成功加 ......
[原创]Python(pysvn)提取svn版本间改动文件列表
by AKara 2010.04.29 @ http://blog.csdn.net/akara @ akaras@163.com
---------------------------------------------------------------------
希望实现一个提取两个svn revision间有变动(增/删/改)的文件的列表
的命令行工具;可以帮我们项目做一些流 ......
当我们这样建立文件时
f =
file('x1.txt', 'w')
f.write(u'中文')
f.colse()
直
接结果应该是类似
f.write(u'中文')
UnicodeEncodeError: 'ascii'
codec can't encode characters in position 0-16: ordinal not in
range(128)
要直接写 utf-8 文件怎么办呢?
import codecs
f = codecs. ......