首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cElementTree.ParseError:顶层的多个元素

cElementTree.ParseError:顶层的多个元素
EN

Stack Overflow用户
提问于 2013-03-11 22:29:39
回答 1查看 1.4K关注 0票数 0

我有这个python代码,它接受XML文件作为输入。当我运行执行时,我会得到问题标题中指出的错误:

代码语言:javascript
复制
for event,element in cElementTree.iterparse(io, events = ( b'start',b'end')):
    if event == b'start':
        self.TreeBuilder.start(element.tag, element.attrib)

误差

代码语言:javascript
复制
> File "/usr/lib/python2.7/site-packages/pymzml/run.py", line 370, in
> __init__
>     self.TreeBuilder.start(element.tag, element.attrib) 
      cElementTree.ParseError: multiple elements on top level

帮我解决这个问题!谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-11 22:49:34

如果我的猜测是正确的,那么在TreeBuilder等待一个有根的文档时,您似乎是在解析一个具有多个根节点的XML片段。

尝试用调用包装解析,以创建具有单个根节点的树。换言之:

代码语言:javascript
复制
self.TreeBuilder.start("root", {})
[...]
for event,element in cElementTree.iterparse(io, events = ( b'start',b'end')):
    if event == b'start':
        self.TreeBuilder.start(element.tag, element.attrib)
[...]
self.TreeBuilder.end("root")

只需记住,生成的DOM在顶部有这个额外的元素,并修改您的处理以考虑这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15349915

复制
相关文章

相似问题

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