相关疑难解决方法(0)

为什么ElementTree会引发ParseError?

我一直试图解析一个文件xml.etree.ElementTree:

import xml.etree.ElementTree as ET
from xml.etree.ElementTree import ParseError

def analyze(xml):
    it = ET.iterparse(file(xml))
    count = 0
    last = None

    try:        
        for (ev, el) in it:
            count += 1
            last = el

    except ParseError:
            print("catastrophic failure")
            print("last successful: {0}".format(last))

    print('count: {0}'.format(count))
Run Code Online (Sandbox Code Playgroud)

这当然是我的代码的简化版本,但这足以打破我的程序.如果删除try-catch块,我会在某些文件中出现此错误:

Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    from yparse import analyze; analyze('file.xml')
  File "C:\Python27\yparse.py", line 10, in analyze
    for (ev, el) in it:
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 1258, in next
    self._parser.feed(data)
  File "C:\Python27\lib\xml\etree\ElementTree.py", …
Run Code Online (Sandbox Code Playgroud)

python xml parsing

11
推荐指数
2
解决办法
4万
查看次数

标签 统计

parsing ×1

python ×1

xml ×1