使用Python

时间:2016-08-18 13:41:09

标签: python xml csv

我正在尝试从XML标记中获取属性,以便获取正确的数据并将其放在CSV文件中

我试图找到一些答案,但除了如何抓取该标签本身或使用其他语言获取属性之外,没有找到任何明确的答案。

以下是XML文件中的一行:

<item id="16" class="ItemClass" status="closed" 
opened="2008-07-14T22:31:10Z" closed="2008-07-14T23:45:08Z" 
url="www.google.com"/>

标签是“项目” 属性为“id”,“class”,“status”,“open”,“closed”,“url”

我可以使用找到here的方法获取代码名称和代码(<tag>item inside tag</tag>)内的项目:

import xml.etree.ElementTree as ET
import csv

item_head = []
item = []

[...]

name = item.find('item').tag
item_head.append(name)

name = item.find('item').text
item.append(name)

但我希望得到那些属性,而不是标签。

我可以轻松编写文件的标题,因为项目将始终包含相同的信息。所以,这看起来像:

item_head.append('id')
item_head.append('class')
item_head.append('status')
...and so on...

但我不知道如何获取其他信息,例如id =“16”

最终结果应该是这样的:

id, class, status, opened, closed, url
16, ItemClass, closed, 2008-07-14T22:31:10Z, 2008-07-14T23:45:08Z, www.google.com

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:2)

xml.etree.ElementTree.Element也有attrib属性,这是一个包含元素属性的字典

>>> item.attrib['id']
'16'