如何使用python处理libxml2 parserError异常

时间:2012-01-12 11:03:12

标签: python xml parsing error-handling libxml2

我尝试编写warpper,使用xsl样式表解析xml文件并转换为html。 对于损坏的xml输入文件,我得到例外:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
  File "C:\Users\USER\Desktop\raportowanie\topsurv raport_beta01\_newest\transmutation     for trimble\testing_transmutation_v.0.6.2.py", line 712, in btnConvertClick
    doc = libxml2.parseFile(filename)
  File "C:\Python27\lib\site-packages\libxml2.py", line 1279, in parseFile
    if ret is None:raise parserError('xmlParseFile() failed')
parserError: xmlParseFile() failed


并尝试没有成功:

try:
    doc = libxml2.parseFile(filename)
except (libxml2.parserError, TypeError):
    print 'error'

实际上,我没有例外,解析器就像成功一样 我想请你帮忙。

1 个答案:

答案 0 :(得分:1)

我建议使用BeautifulSoup,因为它能够解析格式错误的xml。

事实上,功能列表中的第一个是:

  

如果给你不好的标记,美丽的汤不会窒息。它产生一个解析树,使其与原始文档几乎一样有意义。这通常足以收集您需要的数据并逃跑。