2011-09-16 2 views
2

JAXBを使用して、JavaオブジェクトからXMLにデータをシリアル化しています。私はxmlが権限のないユーザーによって要求された場合、いくつかのノードを作成したくありません。JAXBとのマーシャリング中にXMLノードを表示しない

JAXBを使用してこれを行うことはできますか?

私は考えることができる少数の非JAXBのソリューションは、以下のとおりです。

  1. は、正規表現やXSLTでXMLを生成した後、ノードを削除します。
  2. 隠しノードに対応するオブジェクトの値をnullに設定します。

推奨されるアプローチは何ですか?

答えて

3

注:私はEclipseLink JAXB (MOXy)リードだし、JAXB 2(JSR-222)の専門家グループのメンバー。あなたは、XSLTを使用して変換への入力としてJAXBSourceオブジェクトを活用する可能性のあるJAXBの実装に

を使用して

。あなたがあなたのオブジェクトモデルへの第2のマッピングを適用するためのXMLメタデータを使用することができJAXBのMOXY実装を使用している場合MOXY JAXB

を使用して

JAXBSource source = new JAXBSource(jaxbContext, myPOJO); 
Result result = new StreamResult(System.out); 
transformer.transform(source, result); 

具体例