0

大学の課題では、SAXパーサーと、元のXMLファイルを読み取ってから新しい変更されたXMLファイルを作成するフィルターを作成する必要があります。この割り当てでは、プログラムを「java Sax inputFileDestination OutputFileDestination」を使用してコンソールで実行する必要があり、ファイルが1つだけである必要があります。つまり、Sax.javaにインターフェイスを実装する必要があります。私は内部クラスに精通していますが、外部クラスのmainメソッドを使用してこれを実装する方法がわかりません。

何か疑惑はありますか?

4

2 に答える 2

0

これは課題なので、コードを投稿するつもりはありませんが、その方法を説明します。

これを行うために内部クラスはまったく必要ないと思います。クラスには、SAXParserを作成し、それ自体(this)をコールバックとして登録するmainメソッドがあります。次に、HandlerBaseから必要なSAXメソッド(startElement、endElement、characters)を実装します。

SAXParserを作成し、それにmain()メソッドを追加するだけで、コマンドラインから実行されます。

于 2012-05-18T18:48:21.220 に答える
0

を持っている別のクラスの外部で使用するMySAXParserクラスを作成することを検討してくださいmain。次に、そのmainメソッドをMySAXParserクラス内にテストコードとして配置します。

XMLパーサーは、SPI(サービスプロバイダーインターフェイス)を使用して、META-INF/MANIFEST.MFでjarを配信します。あなたはボーナスと同じことをすることを考えるかもしれません。

他の内部クラスはprivate static、それらが独立している場合、または単にprivate余分な外部を格納している場合がありMySAXParser.thisます。したがって、よくあるエラーの1つは、忘却staticです。

于 2012-05-18T18:50:21.100 に答える