2016-04-04 16 views
0

を削除します。私はしかし、削除したいJAXB:私は次のコードを持っている余分な不要なタグ

<MainTest> 
    <TestElement id=el1> 
    <Field>...</Field> 
    </TestElement> 
    <TestElement id=el2> 
    <Field>...</Field> 
    </TestElement>  
</MainTest> 

:整列化した後

public class TestElement { 

    @XmlElement 
    private Field field; 

    private boolean isEmpty; 
    ... 

} 

@XmlRootElement 
public class MainTest { 

    @XmlElement 
    private TestElement el1 

    @XmlElement 
    private TestElement el2 
    ... 
} 

を、このようなものを持つXMLファイルになり<フィールド>タグファイルが

<MainTest> 
    <TestElement id=el1>...</TestElement> 
    <TestElement id=el2>...</TestElement>  
</MainTest> 

として現れるので、これを実行する方法はありますか?クラスTestElementのフィールドfieldは、XMLファイルで表すべき唯一のフィールドです。

(明確化のために:私は値をカプセル化し、不要なタグを削除するIシンプルたい<Field></Field>の間の値をドロップする必要はありません)事前に

ありがとう!

+0

@RobertMoskalを:私はにMainTestを変更している私は、フィールド 'Field'を除外しようとしていないのです。タグ自体が不要なので、XMLタグを値の周りにドロップしようとしています。 –

答えて

0

私のために働く解決策を見つけました。 TestElementオブジェクト全体にアノテーションを付ける代わりに、各TestElementオブジェクトのMainTestクラスに(私的な)ゲッターを作成しました。

@XmlRootElement 
public class MainTest { 

    private TestElement el1 

    private TestElement el2 
    ... 

    @XmlElement(name="TestElement") 
    private Field getFieldEl1() { 
    return el1.getField(); 
} 
-2

利用@XmlValueフィールド上getterメソッド

関連する問題