XML结束标记弄乱了文件

时间:2020-07-26 16:32:29

标签: python xml

基本上,我下载了一些XML文件,然后将它们附加到元素树中。问题在于最终文件包含以下内容:

<<?xml version="1.0" encoding="UTF-8" standalone="yes"?> - at the start of each new xml fil
...
</product_info> /><product_info> ...

其中产品信息是实际的cosing标签,而/>则是使一切混乱的原因。

我通过使用以下命令删除了原始xml文件中的XML声明来修复了第一部分:

replace('<?xml version="1.0" encoding="UTF-8" standalone="yes"?><','')
#I remove a closing bracet at the end because I cannot remove the opening bracet as it is not in the original file

我怀疑问题是由于某些原因,在附加每个XML文件之前,它已包含在某个标签中?

当我检查'ET.SubElement(root,response_xml)'时,将显示以下内容:

<Element 'product_info article_id="0006303562403"...'

标签有问题吗?

1 个答案:

答案 0 :(得分:1)

如果文件不是well-formed,则您的文件将不符合XML的资格,并且您通常不能使用旨在解析不符合XML定义的数据的XML的库。

格式错误的失败示例包括:

  • 在XML声明之前具有任何内容。
  • 具有多个根元素。
  • 未正确关闭元素。
  • 使用组件名称中不允许的字符。 (例如,XML属性名称不能以'开头。)

您必须修复违反格式规则的代码,或手动编辑数据以进行修复,或查看此问题的其他选项: