python 读取配置文件(XML)

2009年2月2日 由 月影鹏鹏 留言 »

看上去效率不是很高,由于对于python操作xml文件不是很熟悉,故而就粗略地写了一个而己…

xml配置文件定义如下:

config.xml

文件内容如下:

<?xml version=”1.0″ encoding=”UTF-8″?>
<config>
<routelist>routelist</routelist>
<route>route</route>
<ip>ip</ip>
<port>port</port>
<delay>delay</delay>
</config>

读取此配置文件的python文件如下:

#!/usr/bin/env python
#coding=utf-8
from xml.dom.minidom import parse, parseString

def getText(nodelist):
rc = “”
for node in nodelist:
if node.nodeType == node.TEXT_NODE:
rc = rc + node.data
return rc

def readConfig(filename):
“”"用来读取配置文件,并从中提取各类标签”"”
dom1 = parse(filename) # parse an XML file by name

config_element = dom1.getElementsByTagName(“config”)[0]
routelist = config_element.getElementsByTagName(“routelist”)[0]
route = config_element.getElementsByTagName(“route”)[0]
ip = config_element.getElementsByTagName(“ip”)[0]
port = config_element.getElementsByTagName(“port”)[0]
delay = config_element.getElementsByTagName(“delay”)[0]

return (getText(routelist.childNodes),getText(route.childNodes),getText(ip.childNodes),getText(port.childNodes),getText(delay.childNodes))
#测试示例
str1,str2,str3,str4,str5 = readConfig(“config.xml”)
print str1,str2,str3,str4,str5

广告位

留言