带有无效HTML代码(元素树)的XML解析错误

问题描述 投票:0回答:1

[当我解析下面的xml字符串时,该xml字符串取自更大的xml文件,遇到了我认为是无效的HTML字符代码的情况,解析器将输出以下错误消息。

错误消息是:ParseError:对无效字符编号的引用

我删除了说明的其余部分,并保留了导致错误的部分。如何获取elementtree来忽略这些无效的HTML字符代码或以某种方式处理它们?

下面的代码和xml摘录:

XML: <dc:description> **(10&#410)** </dc:description>


import os
import html
import io
import sys
import xml.etree.ElementTree as ET

def process_file(file):

    parser=ET.XMLParser(encoding='utf-8')
    tree=ET.parse(file, parser=parser)


python xml file parsing elementtree
1个回答
0
投票

我如何让elementtree忽略这些无效的HTML字符代码或以某种方式处理它们?

您不

您正在尝试将XML工具应用于非XML数据。适当拒绝合作。

解决方案是先将数据固定为XML,然后再尝试将其处理为XML。手动执行此操作,或尝试通过在字符/字符串级别处理文档来以编程方式执行此操作。

另请参阅How to parse invalid (bad / not well-formed) XML?

© www.soinside.com 2019 - 2024. All rights reserved.