mu *_*u 無 8 python xml python-2.7 xmltodict
我xmltodict用来解析xml.
如果我们解析无效的xml,它会抛出一个ExpatError.
我怎么抓住这个?这是我在ipython shell中尝试过的
>>> import xmltodict
>>> xml_data = """<?xml version="1.0" encoding="UTF-8" ?>
... <Website>"""
>>> xml_dict = xmltodict.parse(xml_data)
ExpatError: no element found
>>> try:
... xml_dict = xmltodict.parse(xml_data)
... except ExpatError:
... print "that's right"
NameError: name 'ExpatError' is not defined
>>> try:
... xml_dict = xmltodict.parse(xml_data)
... except xmltodict.ExpatError:
... print "that's right"
AttributeError: 'module' object has no attribute 'ExpatError'
Run Code Online (Sandbox Code Playgroud)
fal*_*tru 10
您需要导入ExpatError来自xml.parsers.expact.
from xml.parsers.expat import ExpatError
Run Code Online (Sandbox Code Playgroud)
在xmltodict模块本身内找到它,因此无需将其与xml模块分开导入
>>> try:
... xml_dict = xmltodict.parse(xml_data)
... except xmltodict.expat.ExpatError:
... print "that's right"
...
that's right
Run Code Online (Sandbox Code Playgroud)