0

Java を使用して XML を XML に変換する必要があります。私はそれをグーグルで検索しましたが、以下のようなテクノロジーはほとんど見つかりませんでした

  1. JAXB
  2. アパッチコクーン
  3. XSLT

上記のリストから、より良い方法/テクノロジーを提案してくれる人はいますか? 他に利用可能なより良いオプションがあれば教えてください。

注: XSLT の記述は避けたい。

ありがとうございました。

4

4 に答える 4

2

XSLT は XML を何かに変換するために作成されたもので、XML への変換に優れています。

  • 要件によっては、純粋な XSLT で十分な場合があります。
  • 要件がネイティブの XSLT 機能を超える場合は、Apache Xalanを使用して、Java で独自の拡張関数を作成できます。

Apache Cocoon は、処理ユニットをチェーンする機能を備えた優れたソフトウェアです。しかし、それはやり過ぎかもしれません。最終的には、Cocoon が処理する XSLT を作成する必要が生じる可能性があります。

申し訳ありませんが、私はJAXPの経験がなく( SAXオプションもJDOMオプションもありません)、それに対する長所または短所を提供することはできません... 1 つの良い点を除いて、3 番目のオプション: XSLT が提供されることです ;-)

本当に XSLT を使用したくない場合は、Groovyを調べてみてください。Groovy は Java クラスにコンパイルされ、XML をオブジェクト グラフに、オブジェクト グラフを XML に自動的に変換すると言われています。簡単な概要については、次のスレッドをご覧ください。

最後に、この非常によく似た質問 (およびその回答) を見てください。

于 2012-06-07T09:36:15.823 に答える
1

一般的で複雑な変換が必要な場合は、XSLT が最適です。私の知る限り、XSLT はこの作業に最も強力なツールです。

多くの単純なタスクでは、必要ない場合があります。電子メールやレポートなど、多かれ少なかれ統一されたドキュメントに入力するだけの場合は、freemarkerなどのテンプレート フレームワークを使用してみてください。

私は Cocoon に詳しくなく、XML 変換に JAXB をどのように使用するのかよくわかりません。

于 2012-06-07T09:31:18.107 に答える
1

XSLT に関連する学習曲線があることは事実です。それが仕事に最適なツールであることも事実です。弾丸を噛んで、学びましょう。

于 2012-06-07T17:15:28.843 に答える
0

saxonは、xslt2.0に対応した優れたxsltプロセッサであることがわかりました。xslt1.0と2.0の間には大きな違いがあります。Javaでも拡張できると思います。

于 2012-06-07T18:18:50.483 に答える