2009-04-02 14 views
0

XMLファイルから不要だと思われるタグを削除しました。今私はそれを解析しようとすると、私のSAXパーサーはエラーをスローし、私のファイルが整形式ではないと言います。しかし、私はすべての開始タグが終了タグを持っていることを知っています。ファイルの開始タグには、XMLスキーマへのリンクがあります。これがトラブルの原因になるでしょうか?もしそうなら、私はそれをどのように修正するのですか?Python SAXパーサーがXMLファイルの形式が正しくないと言います

編集:私は問題を見つけたと思う。私のキャラクターデータには、おそらくhtmlタグから "& lt"と "& gt"文字が含まれています。解析後、これらは "<"と ">"文字に変換されます。これはSAXパーサーを悩ますようです。これが起こらないようにする方法はありますか?

+0

http://validator.w3.org/ – bernie

+0

XMLスキーマへの開始タグのリンクは名前空間である可能性があります。 – bernie

+0

SAXからの実際のエラーを提供してくれますか? –

答えて

1

サックスパーサーは、の詳細を教えていませんか?は整形式ではないと思いますか?

ファイルをXMLエディタに読み込んで確認しましたか?他のXMLパーサーはそれを受け入れますか?

XMLが整形式であるかどうかにかかわらず、スキーマは変更しないでください。 が有効であるかどうかがよく変わる可能性があります。。もう少し用wikipedia entry for XML well-formedness、またはより多くの詳細:)

EDITためXML specsを参照してください:本文中に「&」を表すために、あなたがそう&amp;

としてそれをエスケープする必要があります

&lt 

&amp;lt 

(あなたが本当にアンパサンド、L、Tをしたいと仮定した場合)でなければなりません。

+0

問題のある場所でファイルを調べました。文字のデータだけです(間違った行を数えない限り)。残念なことに、このファイルは大きすぎて標準のエディタでは使用できません。私は、ルートタグとオープンタグとクローズタグを持っています。これは謎のままです。 –

+0

別の非DOMパーサー(XmlReader。NET、またはおそらくJavaのSAX)、そこで動作するかどうかを確認したり、場合によってはより有用な情報を提供します。 –

+0

「大きすぎます」?漠然とした言葉を使わないでください。それは何バイトですか?それは深刻なエディタを切り替える時間かもしれません... – bortzmeyer

2

私は、これらのタグを入れて、まだ動作していることを確認することをお勧めします。その後、それらを取り出したい場合は、それが壊れるまで一度に1つずつしてください。

しかし、私はそれらを取り出す知恵に疑問を呈します。それがあなたのXMLファイルなら、あなたはそれをよりよく理解する必要があります。サードパーティ製のXMLファイルであれば、実際にはそれを手にしてはいけません(あなたがそれをよく理解するまで:-)。

0

別のXMLパーサーを使用して解析することを推奨します。それはそれが間違っている文書かパーサーかを示すはずです。

また、実際のエラーメッセージが役立つ場合があります。かなり一般的な問題の1つは、XML宣言(使用されている場合はオプション)が最初のものでなければならないということです。

0

XMLエディタをお持ちでない場合は、Firefoxに読み込むことができます。 Firefoxにエラーが表示されます。

関連する問題