用简单的结构解析xml

时间:2014-04-06 14:07:51

标签: python xml-parsing

由于某些原因,我无法提取下面的xml内容:有人可以指出我正确的方向吗?

f='''<features>
    <name>Michael</name>
    <age>81</age>
    <dob>20/10/1925</dob>
</features>'''

尝试:

tree=ET.parse(StringIO(f))
root=tree.getroot()
for x in root:
    print x.tag, x.attrib

Output:
name {}
age {}
dob {}

理想输出:

name {Michael}
age {81}
dob {20/10/1925}

对于使用python的xml不是很擅长,谢谢你的建议?

1 个答案:

答案 0 :(得分:3)

您的元素没有attrib个。请尝试使用x.text,但如果您真的想要大括号中的文字,则需要添加大括号。

>>> import xml.etree.cElementTree as et
>>> root = et.fromstring(f)
>>> for x in root:
    print x.tag, x.text


name Michael
age 81
dob 20/10/1925