转载本站文章请注明,转载自: 月影鹏鹏 [http://Jacky.Aiwaly.com]
本文链接: http://jk.aiwaly.com/wp/python-%e8%af%bb%e5%8f%96%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6xml.html
看上去效率不是很高,由于对于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