-2

DOM ツリーを処理するときに、解析したファイルのソース コードに関する情報を取得する方法はありますか? ソースファイル名と要素が始まる行を取得する必要があります。アプリケーションのコードをアップグレードして、次のようなエラーを出力する必要があります: config1.xml の行 24 で間違った構成レコード - 何とか何とか...。

4

1 に答える 1

1

XML::DOMモジュールは をサブクラス化し、モジュールはさらにサブクラスXML::Parser化しますXML::Parser::Expat。最後のcurrent_lineメソッドは、解析プロセス中に到達したファイル行番号を返すメソッドを提供します。

情報は利用可能ですが、それを使用して最終的なドキュメント ツリーに組み込むのは、呼び出し元のパッケージ次第です。これを行わないと、解析後に情報を取得する方法がありません。

XML::Parser::Expatレベルで公開されているインターフェイスの量に応じてXML::DOM、サブクラス化からいくらかのマイレージが得られる場合がありますXML::DOM。しかし、変更は以下のレベルで行う XML::DOM::Parser必要があると思います。その場合、元のクラスの代わりにサブクラスを使用するように呼び出し元のクラスを説得するという問題があります。

ほとんどの場合XML、解析後に必要な情報を保持する別のモジュールを使用する方がよいでしょう。それが可能でありXML::LibXML、要件を満たしている場合は、代わりにそれを選択してください。

于 2013-02-26T11:01:49.580 に答える