3

繰り返しになりますが、問題は、コードに SAX パーサーを正常に実装したにもかかわらず、動作がおかしくなっていることです。& の後のエントリをスキップして、次のエントリに移動します。これが SAX パーサーの典型的な動作なのか、それとも間違って実装されているのか知りたかっただけですか???

org.xml.sax.ContentHandler を実装し、内部に次のコーディングを提供しました...

`

public void characters(char[] ch, int start, int length)
         {
             if(lastName.equals("id"))
             {
                 String id = String.copyValueOf(ch, start, length);
                 CustomList.idvector.add(id);
             }
             else if(lastName.equals("subcategory"))
             {
                String subcategory = String.copyValueOf(ch, start, length);
                 CustomList.subcategoryvector.add(subcategory);
             }
             else if(lastName.equals("photo"))
             {
                 String photo = String.copyValueOf(ch, start, length);
                 CustomList.photovector.add(photo);
             }
             else if(lastName.equals("name"))
             {
                 String name = String.copyValueOf(ch, start, length);
                 CustomList.namevector.add(name);
             }
         }

`

タグ ,,,... と m を持つ要素があり、これらの情報をベクトルに取り込んでいます... これは正しいですか?

ここでも問題は、「$」などの特殊文字を解析できないことです...これらの文字をキャッチする方法はありますか??

4

2 に答える 2

4

これで問題が解決しない場合は、入力と出力のサンプルを提供してください。

&は XML エンティティ参照であり、 を意味し&ます。

デフォルトでは、SAX が変換を行います。そのため、ソース XMLhello&goodbyehello&goodbye.

characters()エンティティ参照のために、SAX がメソッドの呼び出しを分割している可能性もあります。characters()同じタグ内に複数の呼び出しを連結する必要がある場合があります。

于 2009-12-29T08:07:46.410 に答える