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的方式记录的。
浙公网安备 33010602011771号