5

XML ファイルのインポート関数を Java アプリケーションに作成しています。XOMを使用して XML ファイルを解析しています。XML を解析するためのコードは理解しにくいものであり、一部ハードコーディングされ.getChild(3)ているなどです。宣言型の XML ドキュメントと比較して、コードをたどるのは難しいです。

XML ドキュメントを Java オブジェクトに解析するための、より保守しやすい方法はありませんか? どのタグがどのJavaクラスに対応するかを指定できる、より宣言的な方法でそれを持ちたいと思います。

4

7 に答える 7

3

かなり単純なアノテーションベースのアプローチである JAX/B を見てください。これは標準の Java API です。

XSD またはサンプル XML ファイルから注釈付き Java クラスを生成するツールがあります。使い方はブログに書いてます

于 2010-08-16T17:02:54.680 に答える
2

XML を Java に変換するSimpleがとても気に入っています。

于 2010-08-16T21:15:49.577 に答える
1

Apache Commons Digesterを見てください。

于 2010-08-16T17:01:23.357 に答える
1

Simple XML フレームワークは、フィールドとメソッドの宣言、およびクラス定義で注釈を使用して、XML を Java にマップしたり、その逆にマップしたりします。JAXB (大量の依存関係を取り込む) よりも何倍も軽量です。実際、外部依存関係はまったくありません。そして、その速度も速いです。JAXB を何度も試しましたが、注釈と機能がぎこちなく扱いにくいことがわかりました。チュートリアルをご覧ください。

于 2010-11-23T00:34:02.450 に答える
1

合意されたJAXB (JSR-222)が最適なソリューションです。JAXB は、実装を選択できることを意味する仕様であることに注意してください。

標準の JAXB では、注釈を使用してマッピングを指定できます。MOXy JAXBでは、XML を介してメタデータを指定することもできます。

保守可能なソリューションが必要な場合は、ほとんどすべての XML バインディング ソリューションに見られる XML 要素間の 1 対 1 の関係を壊し、MOXy で使用される XPath ベースのマッピングを使用する必要があります。

于 2010-08-16T20:06:44.007 に答える
0

Castor XML マッピングの確認

これは同じドキュメントです: http://www.castor.org/xml-mapping.html

于 2010-08-16T16:59:44.420 に答える
0

私は最終的に、使いやすく、宣言的な方法で XML を解析するXStreamを見つけました。

于 2010-11-08T10:24:51.743 に答える