こんにちは、現在、xml.sax.handler
xml ファイルの解析に使用しています。
以下は私のfile.xmlコードです:
<?xml version="1.0" encoding="utf-8"?>
<sturp>
<gear>
<UL>
<LI><I>Free Private Housing or a Generous Housing Allowance</I></LI>
<LI><I>$50K in Free Life Insurance coverage</I></LI>
</UL>
<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>
</gear>
</sturp>
以下は私のコードです
xmlFilePath = 'user/documents/file.xml'
try:
parser = xml.sax.make_parser( )
handler = FeedHandler( conn, clientSiteId, clientId, documentElementName, jobElementName )
handler.setMapping( mapping )
parser.setContentHandler(handler)
parser.setEntityResolver(handler)
parser.parse(open(xmlFilePath))
except (xml.sax.SAXParseException), e:
print "*** PARSER error: %s" % e
出力:
*** PARSER error: user/documents/file.xml:8:150: not well-formed <invalid token>
*** PARSER error: user/documents/file.xml:9:1: not well-formed <invalid token>
実際、提供されたソース xml ファイルは有効な xml 形式ではありませんが、解析する必要があります。
上記のコードでパーサーに渡す前に、xml ファイルから無視して .(すべてのエラーと無効な xml トークンもエスケープする必要があります) する方法
前もって感謝します........