1

SAXパーサーを介してxmlドキュメントからツリーを構築するプログラムを作成しようとしています。しかし、結果のタグの名前は成功しましたが、属性には最後のタグの属性しか表示されません。

コードの何が問題になっていますか? ツリーへの出力は tag.toString() にあります

4

2 に答える 2

1

48 行目を次のように変更してみてください。

Tag t = new Tag(eName, new org.xml.sax.helpers.AttributesImpl(attrs));
于 2012-07-14T17:35:28.587 に答える
0

Attributes問題は、それぞれのインスタンスを保存していることTagと、Attributes呼び出しの呼び出しごとにインスタンスが再利用されていることだとstartElement()思います。したがって、すべてTagのインスタンスには、パーサーによって作成された最後のインスタンスと同じコンテンツを持つ同じ属性インスタンスが表示されます。各タグの実際の属性のコピー(またはマップなど)を作成する必要があります。

于 2012-07-14T15:04:30.253 に答える