5

XMLMarkLogicサーバーからクエリを実行し、Javaオブジェクトにマーシャリングする必要があります。これについて行く良い方法は何ですか?具体的には:

  1. MarkLogicを使用すると、XMLテクノロジスタックに影響がありますか?(つまり、XMLスニペットの検索、読み取り、書き込みに異なるアプローチをもたらすMarkLogicについて何かありますか?)
  2. XML APIの1つを使用して自分でXMLを処理する必要がありますか、それとももっと簡単な方法がありますか?
  3. これにJAXBを使用する価値はありますか?

誰かが私がJavaを使用している理由について良い質問をしました。私はJava/Java EEを使用しています。なぜなら、私はその言語に最も強いからです。これは一人のプロジェクトであり、私はどこにも行き詰まりたくありません。このプロジェクトは、WebサービスAPIとデータ処理および変換(CSVからXML)機能を開発することです。Java / Java EEはこれをうまく実行し、エレガントに実行できます。

4

5 に答える 5

3

注: 私はEclipseLink JAXB (MOXy)のリーダーであり、JAXB 2 (JSR-222)エキスパート グループのメンバーです。

MarkLogic を使用すると、XML テクノロジー スタックに何らかの影響がありますか? (つまり、MarkLogic について、XML スニペットの検索、読み取り、および書き込みに対する別のアプローチにつながるものはありますか?)

潜在的に。オブジェクトから XML へのライブラリの中には、他のライブラリよりも多くの種類のドキュメントをサポートするものがあります。MOXy は、XPath ベースのマッピングを利用して、さまざまなドキュメントを処理できるようにします。以下にいくつかの例を示します。

XML API の 1 つを使用して自分で XML を処理する必要がありますか、それとももっと簡単な方法がありますか?

フレームワークを使用する方が一般的に簡単です。Java SE は、XML を処理するための標準ライブラリを提供します: JAXB ( javax.xml.bind )、XPath ( javax.xml.xpath )、DOM、SAX、StAX。これらの標準には、他の実装もあります (つまり、MOXy と Apache JaxMe は JAXB を実装しています)。

これにJAXBを使用する価値はありますか?

はい。

于 2011-10-06T10:20:07.753 に答える
2

XML->Javaオブジェクトマーシャリングライブラリがいくつかあります。このような一般的なJavaXMLマーシャリング/アンマーシャリングの質問を検索して、この質問に対する答えを探したいと思うかもしれません。

Javaバインディングと手動でクラスを定義する

タイトルの編集は役立ちますが、ユースケースはまだ完全には明確ではありません-Java接続を探している場合は、Javaコードを実行できるhttp://developer.marklogic.com/code/mljamも参照してください。 MarkLogicXQuery内から。

于 2011-10-06T01:23:38.190 に答える
1

XQSyncはこれにXStreamを使用します。私が理解しているように、JAXBはより強力ですが、より複雑でもあります。

于 2011-10-06T01:17:51.967 に答える
1

JAXB を使用して 5 年間、XQuery から提供される xml をアンマーシャリングしてきましたが、JAXB が非常に便利で時間を節約できることがわかったと言わざるを得ません。複雑さに関しては、習得が容易で、使用目的のおそらく 90% で使用できます。単純なスキーマと複雑なスキーマの両方に使用しましたが、非常にパフォーマンスが高く、時間を節約できることがわかりました。MarkLogic 内から Java コードを実行することは、Marklogic サーバー上の別の VM で実行されるため、通常はスターターではありません。そのため、たとえば Java EE Web アプリケーションのセッション状態やライブラリを実際に活用することはできません。JAXB を使用すると、結果ストリームを取得して Java オブジェクトに変換するのは非常に簡単です。私は本当にそれについて十分に良いことを言うことができません.

于 2011-11-01T18:50:03.743 に答える
0

MarkLogic を使用すると、XML テクノロジー スタックに何らかの影響がありますか?

いいえ。MarkLogic が登場する頃には、どこからともなくできた XML に過ぎません。

XML を照会し、それを Java オブジェクトにマーシャリングする必要があります。

なんで?

Java を使用する正当な理由がある場合は、どの Java テクノロジが適切かを判断する前に、その理由を知る必要があります。

Java を使用する正当な理由がない場合は、XSLT や XQuery などの高レベルの XML 処理言語を使用することをお勧めします。

JAXB に関しては、スキーマが適度に単純で安定している場合に適しています。スキーマが複雑な場合 (学術雑誌の記事のスキーマなど)、生成されるクラスの数が増えるため、JAXB は絶望的に扱いにくくなる可能性があります。これを使用して XQuery 出力を処理する際の問題の 1 つは、XQuery 出力が既知のスキーマに準拠しない可能性が非常に高く、XQuery 結果の構造が、作成されるクエリごとに異なることです。

于 2011-10-06T08:09:38.083 に答える