XML 解析器删除处理指令结束定界符的问号

标签 xml python-3.x beautifulsoup

我在使用 Python 3.4 的 BeautifulSoup 4 使用的 xml 解析器时遇到了以下意外行为。解析 xml 样式表时,结束分隔符中的问号消失了:

输入:

BeautifulSoup('<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="myStyleSheet.xsl" type="text/xsl"?>','xml')

输出:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="myStyleSheet.xsl" type="text/xsl">

请注意 type="text/xsl"?> 如何更改为 type="text/xsl">

此外,示例发现 here以同样的方式中断。

这是故意的吗?我应该报告错误吗?除了随后在正确的位置插入问号之外,还有什么方法可以防止这种情况吗?

最佳答案

摘自2016年7月19日发布的BeautifulSoup 4.5.0版本的变更日志:

“* 更正了 XML 处理指令的处理。[bug=1504393]”

关于XML 解析器删除处理指令结束定界符的问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38246620/

相关文章:

python - 使用 BeautifulSoup 但从大文件中获取内存错误

xml - 如何使用FLWOR的XQuery返回一系列XML节点?

java - 我已将 Maven 项目从 Github 导入到 eclipse,pom.xml 依赖项显示为红色下划线

xml - 如何测试某个 XML 节点是否存在?

css - Python3 Selenium清除表格中的文本框

python - "While True Loop"不会导致函数再次执行

python - Beautifulsoup "findAll()"不返回标签

java - 如何在xsl中显示Java的String类型数组?

python - 如何使用 Python 仅打印 csv 文件的前 10 行?

python-3.x - 在 PySimpleGUI 的打开窗口顶部显示弹出窗口