python - WordPress XML 解析错误 : unbound prefix?

标签 python wordpress xml-parsing

我正在尝试使用 Python 的 xml.etree.ElementTree.parse() 函数来解析我通过导出 WordPress 博客的所有内容创建的 XML 文件。但是,当我这样尝试时:

import xml.etree.ElementTree as xml
tree = xml.parse('/path/to/file.xml')

我收到以下错误:

  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1183, in parse
tree.parse(source, parser)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 656, in parse
parser.feed(data)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1643, in feed
self._raiseerror(v)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1507, in _raiseerror
raise err
ParseError: unbound prefix: line 189, column 1

这是我的 XML 文件第 189 行的内容:

<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blogname.wordpress.com/osd.xml" title="blog name" />

我已经看到很多关于 Android 开发中出现的这个错误的问题,但我不知道这是否适用于我的情况以及如何适用。有人可以帮忙吗?

最佳答案

向所有认为这很明显的人道歉,但事实证明我在文档中根本没有“atom”的命名空间定义。我猜“未绑定(bind)前缀”意味着前缀“atom”没有“绑定(bind)”到命名空间定义?

无论如何,添加上述定义已经解决了问题。虽然这让我想知道为什么 WordPress 导出 XML 文件时没有对它们使用的所有 namespace 进行正确定义...

关于python - WordPress XML 解析错误 : unbound prefix?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12349469/

相关文章:

python - 嵌套在 Python 列表中的元组的任意排序

python - Heroku 在部署时按预期执行 collectstatic?

javascript - getElementsByTag 不起作用

javascript - 如何使用 javascript 获取嵌入在 xml 标签内的值?

python - 如何在 OpenCV for Python 中使用冲浪和筛选检测器

Python/Django : What does this line do?

php - Wordpress API 提交帖子

WordPress "search engine friendly"url(永久链接)实现

php - woocommerce_wp_select 产品属性术语中的选项数组

Android 在从 Url 加载图像时没有响应