1

XMLファイルに次のタグがあるとします。

<?xml version="1.0" encoding="utf-8"?>
<jobs>
<job>
<P class="Beaton"><FONT size=3><SPAN style="FONT-FAMILY: Symbol; COLOR: black; mso-ascii-font-family: 'Times New Roman'">�&lt;/SPAN><SPAN style="COLOR: black"><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Position accountability<o:p></o:p></FONT></SPAN></FONT></P>
<P class="Beaton"><FONT size=3><SPAN style="FONT-FAMILY: Symbol; COLOR: black; mso-ascii-font-family: 'Times New Roman'">�&lt;/SPAN><SPAN style="COLOR: black"><FONT face="Times New Roman"> <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>55 FTEs <o:p></o:p></FONT></SPAN></FONT></P>
</job>
</jobs>

以下は私のコードです:

from xml.sax.handler import ContentHandler
import xml.sax

xml_path = 'windows/xml_file.xml'

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

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

Result :
*** PARSER error: windows/xml_file.xml:4:113: not well-formed <invalid token>

誰かがpタグの何が問題になっているのか、そしてこの種のエラーを回避する方法を教えてもらえますか?

4

1 に答える 1

0

問題はおそらくFONTタグにあります。属性の値はsize引用符で囲む必要があります。引用符で囲まないと、これは単に有効なXMLではありません。

&nbsp;また、有効なXMLエンティティではない(XHTMLでは有効ですが)で問題が発生する可能性があります。また、<jobs>タグが正しく閉じられていません。最後の行は</jobs>

一般に、XMLファイルの読み取りに問題がある場合、最初に行うことは、XMLファイルが適切にフォーマットされているかどうかを常に確認することです。これを行うための1つの可能な方法は、W3Cバリデーターに入力することです。

于 2012-07-23T13:34:47.837 に答える