【发布时间】:2014-12-19 18:12:30
【问题描述】:
我正在尝试用 Python 解析从网络接收到的大型 XML 文件。
为此,我获取数据并将其传递给lxml.etree.iterparse
但是,如果 XML 尚未完全发送,像这样:
<MyXML>
<MyNode foo="bar">
<MyNode foo="ba
如果我运行etree.iterparse(f, tag='MyNode').next(),我会在任何被切断的地方得到XMLSyntaxError。
有什么办法可以让我接收到第一个标签(即第一个 MyNode),并且只有在我到达文档的那部分时才得到异常? (使 lxml 真正“流式传输”内容,而不是在一开始就阅读整个内容)。
【问题讨论】: