【发布时间】:2020-08-10 07:15:21
【问题描述】:
当我使用 xml.sax 解析 xml 文件时,我想随时停止解析器或直到程序满足某些条件。请不要退出或抛出异常,因为我希望程序继续运行。
正如“endElement”中所述,我如何提前完成解析并打印例如sax_parse 中的“你好”?
class myHandler(sax.ContentHandler):
def __init__(self):
super().__init__()
self.count = 0
def startElement(self, name, attrs):
if name == 'row':
self.count += 1
def endElement(self, name):
if self.count > 10000:
# stop the parser
pass
def sax_parse():
parser = sax.make_parser()
parser.setFeature(sax.handler.feature_namespaces, 0)
handler = myHandler()
parser.setContentHandler(handler)
parser.parse("url")
print('hello')
【问题讨论】:
-
我可以使用多处理并引发异常来实现这个目标吗?