4

我试图找出如何在 Python (2.7) 中使用 cElementTree iterparse 检索 XML 属性值。我的 XML 是这样的:

<root>
  <record attr1="a" attr2="b" attr3="c" ... />
  <record attr1="x" attr2="y" attr3="z" ... />
  ...
</root>

我的代码是这样的:

context = ET.iterparse(sys.stdin, events=('start','end'))
context = iter(context)
event, root = context.next()

for event, elem in context:
    if event == 'end' and elem.tag == 'record':
        # get the attributes!! 
    elem.clear()
    root.clear()

我正在处理来自标准输入的大数据。我没有运气弄清楚这一点。有人可以告诉我如何(最佳?)这样做吗?

4

1 回答 1

4

哎呀,盯着我的脸,有点:http ://docs.python.org/2/library/xml.etree.elementtree.html#element-objects

总之:

elem.get('attr_name', default_value)

或者,

for name, value in elem.items():

或者,

elem.attrib() - dictionary

我还应该补充一点,有必要修改问题中发布的代码:

...
if event == 'start' and elem.tag == 'record':
... 
于 2013-04-08T14:35:02.553 回答