问题描述
我正在尝试从字符串生成元素树,其中的内容来自某些外部来源。我现在面临的问题是,我收到的字符串可能包含要由ElementTree
解析的无效字符,例如>
,<
和&
。
考虑以下示例:
import xml.etree.ElementTree as ET
content = '<div>Peak current ripple (DC current <= 1 A)</div>'
elem = ET.fromstring(content)
xml.etree.ElementTree.ParseError:格式不正确(令牌无效)
失败的解决方案#1
我现在已经尝试通过预先替换字符来避免此问题:
content = content.replace('<','<')
content = content.replace('>','>')
content = content.replace('&','&')
但是,当然,它也可以替换XML标记中的字符。所以这种方法行不通。
解决方案#2失败
我也尝试过使用自定义的解析器:
parser = ET.XMLParser(recover=True)
elem = ET.fromstring(content,parser=parser)
但这似乎不再受支持
有人可以提供有关如何替换那些特殊字符的建议,但不能替代XML标记中的那些特殊字符吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)