我正在学习python的XML元素树。我已经成功地根据自己的需要从API中获取了XML响应,并使用我在网上找到的指南对其进行了解析。 https://pymotw.com/2/xml/etree/ElementTree/parse.html
我的示例XML看起来像这样,调用中没有子对象:
<Response>
<Title>Student</Title>
<Date>7/18/2017 10:04:45 AM</Date>
<Description>Removed from group</Description>
</Response>
根据文章,文章我迭代了下面的响应,以提取元素树中的标签和属性:
tree = et.fromstring(xml_response)
for node in tree.iter('Group'):
print node.tag, node.attrib
这使得所有XML元素都成为空字典项(我认为),这显示如下:
Title{}
Date{}
Description{}
现在我想抓住每个电话中的数据,这是我的尝试:
for node in tree.iter('Title'):
Title = node.attrib.get('Title')
print Title
我得到的输出是上面代码中的“None”。我的问题是XML标签之间的数据包发生了什么,我如何访问数据?
提前谢谢你。
答案 0 :(得分:1)
使用
print node.tag, node.text
而不是
print node.tag, node.attrib
对于xml行<Date a="b">7/18/2017 10:04:45 AM</Date>
node.attrib
将输出{'a':'b'}
node.text
将输出'7/18/2017 10:04:45 AM'