ElementTree查找返回None?

时间:2015-06-03 15:46:25

标签: python xml elementtree

我使用ElementTree与Python一起解析XML文件以查找标记contentType的内容。

这是Python系列:

extensionType = ET.parse("src/" + str(filename)).find('contentType')

这就是XML:

<?xml version="1.0" encoding="UTF-8"?>
<StaticResource xmlns="http://soap.sforce.com/2006/04/metadata">
    <cacheControl>Private</cacheControl>
    <contentType>image/jpeg</contentType>
</StaticResource>

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

到目前为止,您只是在解析xml文件。这是你如何使用xpath获取你的元素(注意你必须如何使用给定的xml命名空间xmlns

import xml.etree.cElementTree as ET

tree = ET.parse('test.xml')

root = tree.getroot()

xmlns = {'soap': '{http://soap.sforce.com/2006/04/metadata}'}
ct_element = root.find('.//{soap}contentType'.format(**xmlns))
print(ct_element.text)