从XML String / File在Python中创建元组

时间:2012-07-20 03:23:47

标签: python xml xml-parsing

我认为有一种方法可以通过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是代码之间的值?

1 个答案:

答案 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?