0

XML ファイルを解析し、内部でツリーを構築しています。これは、XML 形式の GUI エディターであり、ユーザーは実際に生データにアクセスすることなく、XML ファイルを簡単に変更できます。また、データにさまざまな機能を提供します。

XML ファイルの各要素はツリーのノードに対応しますが、属性を格納する方法を考えています。

  1. それらを表に表示する
  2. それらの値を変更します

キーが属性名で、値がその属性の対応する値である HashMap を使用することを考えました。たとえば、次のようなものがあるかもしれません

myattrs.put("Attr1", ... );
myattrs.put("Attr2", ... );
myattrs.put("Attr3", ... );

ただし、特定の順序で表示することもできます。これも実際には問題ではありません。配列にこの順序を指定させ、それを使用してテーブルに入力することができます。

return new String[] { "Attr3", "Attr1", "Attr2" }

ただし、この設計は、キーをハードコーディングしていることを意味します。

属性をすばやく検索し、特定の順序で表示し、その属性に関連付けられた値を変更できるように、属性を保存する別の方法はありますか?

4

1 に答える 1

1

LinkedHashMapの代わりに使用できますHashMap。キーの順序は保持されます。

しかし、あなたは間違った道を進んでいるようです。XML は、通常はツリーとして表示される階層構造です。XML をどのように解析しているかはわかりませんが、DOM を使用している場合、実際には他のモデルは必要ありません。DOM (Document Object Model) は、XML ドキュメントを解析およびモデル化するための標準的でよく知られた方法を提供します。

しかし、ちょっと待ってください。DOM を直接使用すると、現在の 19 世紀 (申し訳ありません) から 20 世紀の終わりまで進んでいます。ただし、カレンダーを確認してください。今は2013年です。JAXB や、生活を楽にする他の高レベルのツールを調べてみてください。幸運を。

途中で質問することを躊躇しないでください。

于 2013-06-03T20:03:23.840 に答える