lxml 在引发 XMLSyntaxError 之前仅加载单个网络实体

发布于 2024-11-10 17:02:49 字数 501 浏览 1 评论 0原文

我正在编写代码来使用基于 Amazon 查询的 API,该 API 返回 XML,然后我希望使用 lxml 对其进行解析。我已经编写了几个可以完美加载 XML 并解析它的函数。

每个函数都使用以下方式加载 XML:

variable = lxml.etree.parse("http://...")

第一​​次运行时效果非常好。但是,如果我希望在运行 python 会话期间加载第二个 URL(无论是相同的 URL 还是不同的 URL),我会收到错误:(

lxml.etree.XMLSyntaxError: Attempt to load network entity http://...

当然,在这两种情况下,省略号都会被替换为其余的)

因此,由于某种原因,我似乎无法在正在运行的 python 会话中使用 parse 方法加载两个 XML 文档。

有谁知道我在这里可能做错了什么,或者有解决方案?

I am writing code to work with Amazon query based APIs, which return XML which I then wish to parse with lxml. I have written several functions which work perfectly to load the XML and parse it.

Each function loads the XML using:

variable = lxml.etree.parse("http://...")

This works perfectly, the FIRST time it is run. However, if I wish to load a second URL (be it the same one, or a different one) during the course of a running python session, I get the error:

lxml.etree.XMLSyntaxError: Attempt to load network entity http://...

(Of course, the ellipses are replaced in both cases with the rest of the URL.)

Therefore, for some reason, I appear to be unable to load two XML documents using the parse method in a running python session.

Does anyone know what I may be doing wrong here, or have a solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何以畏孤独 2024-11-17 17:02:49

已知未修复的错误

使用 urllib2.urlopen() 获取类似文件的对象并将其传递给 lxml.etree.parse()

Known unfixed bug.

Use urllib2.urlopen() to get a file-like object and pass that to lxml.etree.parse()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文