- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SAXでXMLファイルを読むときにチェック(?)する)
SAXでXMLファイルを読むときにチェックする方法
このQ&Aのポイント
- SAXParserFactoryを使用してXMLファイルを読み込む際に、DTDのチェックを行う方法を説明します。
- SAXParserFactoryのsetValidatingメソッドをtrueに設定することで、DTDのチェックを有効にします。
- また、SAXのバージョンによっても結果が異なる場合があるため、バージョンにも注意が必要です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
DefaultHandlerはErrorHandlerを実装していますが、 この中のerror()メソッドはオーバーライドしていますか? 妥当でない場合にはこのerror()メソッドが呼び出されるようになっています。 (データとしては致命的ではないのでparse()メソッドに対する例外は発生しません) DeafaultHandlerを拡張したクラスに public void error(SAXParseException exp){ System.out.println("妥当でないかも"); } の記述を追加してみてください。 詳しくはAPIドキュメントのorg.xml.sax.ErrorHandlerを確認してみてください。
お礼
早速のご解答ありがとうございます。 アドバイスを参考にやってみたところできました。 自分としてはDTDのそぐわないとなにかすごい例外がでて 処理がストップするものだと思っていました。 仕様としてこうなっているのですね。 APIもこういうところまで読まないとだめですね。。。 ありがとう御座いました。