目前我正在使用 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"> </SPAN>Position will manage 24 ED Rooms with 24/7 accountability<o:p></o:p></FONT></SPAN></FONT></P>
<DIV> </DIV>
</tag2>
</tag1>
当解析器到达 & in div 标签时,它会停止执行并显示以下错误
*** PARSER error: users/file.xml:5:1: not well-formed <invalid token>
如何在从 xml 文件提供给解析器之前删除或转义所有无效的 xml 标记,是否有任何功能可以转义 & 和特殊字符形成 xml 标签,否则我们需要遍历他的 xml 文件并删除每个无效标记? 但不知道该怎么做。任何人都可以分享这样做的代码。