0

XMLファイルから不要だと思ったタグをいくつか削除しました。これを解析しようとすると、SAXパーサーがエラーをスローし、ファイルの形式が正しくないと表示されます。ただし、すべての開始タグには終了タグがあることを私は知っています。ファイルの開始タグには、XMLスキーマへのリンクがあります。これが問題の原因になっている可能性がありますか?もしそうなら、どうすればそれを修正できますか?

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

4

4 に答える 4

2

それらのタグを元に戻し、それがまだ機能することを確認することをお勧めします。次に、それらを取り出したい場合は、それが壊れるまで一度に1つずつ行います。

しかし、私はそれらを取り出すことの知恵に疑問を持っています。それがあなたのXMLファイルであるなら、あなたはそれをよりよく理解するべきです。サードパーティのXMLファイルの場合は、実際にそれをいじってはいけません(理解が深まるまで:-)。

于 2009-04-02T06:42:50.637 に答える
1

saxパーサーは、整形式ではないと思われる場所についての詳細を提供しませんか?

ファイルをXMLエディターにロードして、そこでチェックしてみましたか?他のXMLパーサーはそれを受け入れますか?

XMLが整形式であるかどうかにかかわらず、スキーマは変更されるべきではありません。有効かどうかは変わるかもしれません。XMLの整形式性については、ウィキペディアのエントリを参照してください。詳細については、XMLの仕様を参照してください:)

編集:テキストで「&」を表すには、次のようにエスケープする必要があります&amp;

それで:

&lt

する必要があります

&amp;lt

(本当にアンパサンド、l、tが必要だと仮定します)。

于 2009-04-02T06:38:48.433 に答える
0

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

于 2009-04-03T21:31:39.550 に答える
0

別の XML パーサーを使用して解析することをお勧めします。これにより、ドキュメントが間違っているのか、パーサーが間違っているのかがわかります。

また、実際のエラー メッセージも役立つ場合があります。たとえば、かなり一般的な問題の 1 つは、xml 宣言 (使用する場合はオプション) を最初に指定する必要があることです。その前に空白を入れることさえできません。

于 2009-04-02T18:32:53.827 に答える