gpt4 book ai didi

python - 如何在提供给 python 中的 xml.sax 解析器之前从 xml 文件中删除特殊字符和 & 标记(无效的 xml 标记)

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:54 32 4
gpt4 key购买 nike

目前我正在研究 xml.sax 解析器来解析 xml 文件

假设我有以下代码

filepath = 'users/file.xml'

try:
parser = xml.sax.make_parser( )
parser.parse(open(filepath))

except (xml.sax.SAXParseException), e:
print "*** PARSER error: %s" % e

文件.xml

<?xml version="1.0" encoding="utf-8"?>
<tag1>
<tag2>
<P style="MARGIN: 0in 0in 0pt" class="MsoNormal"><FONT size="3"><SPAN style="FONT-FAMILY: Symbol; COLOR: black; mso-ascii-font-family: 'Times New Roman'">�</SPAN><SPAN style="COLOR: black"><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Position will manage 24 ED Rooms with 24/7 accountability<o:p></o:p></FONT></SPAN></FONT></P>
<DIV>&nbsp;</DIV>
</tag2>
</tag1>

当解析器到达 div 标记中的 & 时,它停止执行并显示以下错误

*** PARSER error: users/file.xml:5:1: not well-formed <invalid token>

如何在从 xml 文件提供给解析器之前删除或转义所有无效的 xml 标记,是否有任何函数可以转义 & 和特殊字符形成 xml 标记,否则我们需要遍历 xml 文件并删除每个和每个无效 token ?但不知道该怎么做。任何人都可以分享这样做的代码。

最佳答案

不要尝试修复错误的 XML。首先修复创建错误 XML 的过程。你还没有告诉我们什么程序写了这些东西。 XML 的全部意义在于它是一个标准,只有当人们真正遵守该标准时,您才能从中受益。

关于python - 如何在提供给 python 中的 xml.sax 解析器之前从 xml 文件中删除特殊字符和 & 标记(无效的 xml 标记),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11625808/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com