python - ParseError:文档元素后的垃圾:第 7 行,第 0 列,(Python,XML 解析)
问题描述
我有一个虚拟的 xml 文件,
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="abc">
<inside>
<ok>xyz</ok>
</inside>
</hello>
<?xml version="1.0" encoding="UTF-8"?>
<xyz xmlns="acxd">
</xyz>
<?xml version="1.0" encoding="UTF-8"?>
<zz xmlns="zmrt">
</zz>
]]>]]>
我正在尝试使用以下代码解析这个 xml 文件。
import xml.etree.ElementTree as ET
mytree = ET.parse(temp_xml)
我得到的错误是"ParseError: junk after document element: line 7, column 0"
. 我确实尝试删除 ']]>]]>' 即在第 7 行,但我仍然收到相同的错误,即"ParseError: junk after document element: line 8, column 0"
. 有没有办法处理这样的错误,或者我们可以跳过阅读这些有垃圾数据的行?
解决方案
XML 文档可能只有一个根元素。 你的有三个,因此格式不正确。如果您希望使用 XML 工具对其进行解析,则必须首先手动或以编程方式将根元素分离到它们自己的文档中。
请注意,一个 XML 文档也最多可以有一个 XML 声明 ( <?xml version="1.0" encoding="UTF-8"?>
),如果存在,它必须位于文件的顶部。
也可以看看
推荐阅读
- npm - docker-compose Verdaccio LDAP
- python - 多处理中的重叠打印线
- c# - 奇怪的行为 OnPaint/OnLayout
- optimization - GHS Renesas RH850:使用 Green Hills Software,MULTI v6.1.4 禁用所有优化
- c++ - C++ Poco - 如何迭代一个 JSON 数组?
- ruby-on-rails - 如何通过单击视图上的按钮来运行我的方法?
- javascript - Jquery选项卡打开条件
- java - 流收集累加器/组合器订单
- c# - 将格式解析为 DateTime
- php - node_modules 的脚本路径(Laravel)