永发信息网

Python如何解析大型的带有命名空间的XML文档

答案:2  悬赏:40  手机版
解决时间 2021-02-21 18:07
  • 提问者网友:凉末
  • 2021-02-21 04:30
xml文件如下(只是个示例,我们假设它有非常非常多的r:item元素):



Famous Guacamole


A southwest favorite!


Large avocados , chopped
Tomato , chopped
White onion, chopped
Fresh squeezed lemon juice
Jalapeno pepper, diced
Fresh cilantro , minced
Garlic , minced
Salt
Ice-cold beer


Combine all ingredients and hand whisk to desired consistency.
Serve and enjoy with ice-cold beers.


下面是我写的Python解析该大型XML的代码,但是结果却是错误的。求斧正,不胜感激!
from xml.etree.ElementTree import iterparse
ns={'t':'http://www.dabeaz.com/namespaces/recipe'}
iparse=iterparse('2.xml',['start','end'])
for event,elem in iparse:
if event =='start' and elem.tag == ‘{http://www.dabeaz.com/namespaces/recipe}r:ingredients':
nodes=elem
print 'nodes ',nodes
break
items=(elem for event,elem in iparse if event == 'end' and elem.tag =='{http://www.dabeaz.com/namespaces/recipe}r:item')
print items
for item in items:
num=item.get('num')
units=item.get('units')
text=item.text
print('%s%-5s%-5s'%(num,units,text))
nodes.remove(item)
最佳答案
  • 五星知识达人网友:雾月
  • 2021-02-21 05:40
你想解析这个文件 做到什么样的效果?
全部回答
  • 1楼网友:忘川信使
  • 2021-02-21 06:38
大概一般人也不会在程序里去直接修改名字空间里的内容 举个栗子 >>> globals(){'__builtins__': , '__name__': '__main__', '__doc__': none, '__package__': none}>>> globals()['name'] = 'bigbang'>>> globals(){'__builtins__': ,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯