1

JAXB を使用して、以下を「タグ」オブジェクトにアンマーシャリングしたいと考えています。これは、クライアントが結果を私に渡す方法です -

<Tag type="a">
    <![CDATA[html text here]]>
</Tag>

CDATA は、「タイプ」属性を持つ「タグ」内に直接ラップされていることに注意してください。

私のクラスは次のとおりです。

@XmlRootElement(name = "Tag")
public class Tag {

private String type;
private String tag;

public String getTag() {
    return tag;
}

@XmlCDATA
public void setTag(String tag) {
    this.tag = tag;
}

public String getType() {
    return type;
}

@XmlAttribute
public void setType(String type) {
    this.type = type;
}

}

これが正しい方法だとは思いません。予想どおり、アンマーシャルすると、Tag オブジェクトには「タイプ」が入力されますが、CDATA 値は「タグ」に入力されません。

何か案が?

4

1 に答える 1

1

@XmlValueタグ プロパティに注釈を追加できます。

于 2012-09-26T21:46:49.647 に答える