問題: のは、データとアプリケーションへの関心の特定の要素の階層の両方が含まれているXMLファイルがあるとしましょう:階層&データ構造Javaで
<root>
<node title="lvl1Node">
<node title="lvl2Node">
<node title="lvl3Node"></node>
</node>
</node>
<node title="lvl1Node2"></node>
<node title="lvl1Node3">
<node title="lvl2Node2">
<node title="lvl3Node2">
<node title="lvl4Node"></node>
</node>
</node>
</node>
</root>
ここで、アプリケーションでこれらのノードを取得するためのAPIを提供する必要があるとします。階層に関する情報を失うことなくノードを返すメソッドを記述する必要があります。
私の質問はどうですか?どのような種類のデータを使用しますか。 ツリーデータ型は明らかな答えですが、標準のCollections APIでは提供されていません。それを自分で書くことは、常に最後の手段です(プログラマは怠惰で、ホイールを再開発するなど)。
また、各項目がObject(サブノードのないノードの場合)またはArraylist(サブノードのあるノードの場合)のいずれかのArrayListを考えましたが、ジェネリックが好きで、これはハッキングのように感じます。 より洗練された方法がありますか?
... DOMのように疑わしいように見えます。 –
DOMが何を意味するのか正確にはわかりませんが、ある場所で文書を解析し、そこからデータを抽出し、コード内の別の場所で利用できるようにする必要があることがあります。実際には構造をシミュレートしてデータを保存するので、これは実際には最適なソリューションです。 – javito
このようにしてXMLにアクセスするためのAPIがすでに存在しており、Document Object Modelと呼ばれています。 http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JAXPDOM.html –