我认为有一种方法可以通过XML
字符串一般地创建一个字典。
import xml.etree.ElementTree as ET
response = '<some><generic><xml></xml></generic></some>'
targetTree = ET.fromstring(response)
# Do something cool here
for key in my_cool_dict:
print '{0} = {1}'.format(key, my_cool_dict[key])
我找到了很好的迭代元素的方法:
for elem in targetTree.findall('some'):
for child in elem.getchildren():
print i.text
这些事情要求我知道XML
标签。如果我不知道我收到了什么怎么办?如何创建my_cool_dict
,其中key
是代码的名称,value
是代码之间的值?
答案 0 :(得分:2)
如果它是平的(即字典不包含其他字典),那么这应该有效:
my_cool_dict = {}
for element in some_parent_element:
my_cool_dict[element.tag] = element.text
例如,如果some_parent_element
代表此元素:
<question>
<title>How do I make a `dict` from XML in Python?</title>
<tags>python xml</tags>
<body>Lorem ipsum dolor sit amet.</body>
</question>
然后运行你的代码:
for key in my_cool_dict:
print '{0} = {1}'.format(key, my_cool_dict[key])
你会得到这个:
body = Lorem ipsum dolor sit amet.
tags = python xml
title = How do I make a `dict` from XML in Python?