ElementTree 找到returnsNone?
ElementTree find returns None?
我正在使用 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>
我做错了什么?
谢谢!
到目前为止,您只是在解析 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)
我正在使用 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>
我做错了什么?
谢谢!
到目前为止,您只是在解析 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)