Alex He

...永远保持希望与激情...约会未来更强大的自己...

 

Load Information from XML File Contiain Namespce Use ElementTree[Python]

使用ElementTree读取xml文件,现在网上有很多实例了!

但是如果遇到其中有namespace的xml文件就会有问题!

假设需要读取的xml文件为

<?xml version="1.0"?>
<Resume xmlns="http://ns.hr-xml.org/2007-04-15"
	<ResumeId>
		<IdValue>152036612-225804009</IdValue>
	</ResumeId>	
</Resume>

按照网上的一些示例读取代码为

def load_xml_file(fileName):
    root = ET.parse(fileName).getroot()
    resumeid=root.find('ResumeId')
    id=resumeid.find('IdValue')
    print id.text 

但是这样读取不到东西,应该改为如下形式

def load_xml_file(fileName):
    root = ET.parse(fileName).getroot()
    ns='{http://ns.hr-xml.org/2007-04-15}'
    resumeid=root.find('%sResumeId' % ns)
    id=resumeid.find('%sIdValue' % ns)
    print id.text 

这是因为ElementTree处理namespace是以{namespace}node的方式记录的。

posted on 2011-11-14 14:51  Alex木头  阅读(347)  评论(0编辑  收藏  举报

导航