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的方式记录的。

你可能感兴趣的:(element)