首页 > 解决方案 > 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". 有没有办法处理这样的错误,或者我们可以跳过阅读这些有垃圾数据的行?

在此处输入图像描述

标签: pythonxmlparsing

解决方案


XML 文档可能只有一个根元素。 你的有三个,因此格式不正确。如果您希望使用 XML 工具对其进行解析,则必须首先手动或以编程方式将根元素分离到它们自己的文档中。

请注意,一个 XML 文档也最多可以有一个 XML 声明 ( <?xml version="1.0" encoding="UTF-8"?>),如果存在,它必须位于文件的顶部。

也可以看看


推荐阅读