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