2015-06-03 2 views
0

Я использую ElementTree с Python для анализа XML-файла, чтобы найти содержимое тега contentType.ElementTree find results None?

Вот 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

Вы просто разбираете 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) 
+0

Отлично, спасибо! – Sciguy77

Смежные вопросы