首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python iterparse检索XML属性值

使用Python iterparse检索XML属性值
EN

Stack Overflow用户
提问于 2013-04-08 22:16:59
回答 1查看 3.7K关注 0票数 4

我正在尝试了解如何在cElementTree (2.7)中使用cElementTree检索XML属性值。我的XML是这样的:

代码语言:javascript
复制
<root>
  <record attr1="a" attr2="b" attr3="c" ... />
  <record attr1="x" attr2="y" attr3="z" ... />
  ...
</root>

我的代码是这样的:

代码语言:javascript
复制
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()

我正在处理来自stdin的大数据。我没有任何运气来弄清楚这件事。谁能告诉我是怎么做到的(最优的?)来做这个吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-08 22:35:03

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

总而言之:

代码语言:javascript
复制
elem.get('attr_name', default_value)

或,

代码语言:javascript
复制
for name, value in elem.items():

或,

代码语言:javascript
复制
elem.attrib() - dictionary

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

代码语言:javascript
复制
...
if event == 'start' and elem.tag == 'record':
... 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15881497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档