无法将 XML 属性定位在我 Java 创建的 XML 对象的正确位置
Unable to position XML Attributes at proper location of my Java created XML Object
这是我目前得到的 XML 输出:
<parameter>
<dataIdentifier>123</dataIdentifier>
<newValue encoding="base64">
<value>NjUw</value>
</newValue>
</parameter>
这是我想要的 XML 输出:
<parameter>
<dataIdentifier>123</dataIdentifier>
<newValue encoding="base64">NjUw</newValue>
</parameter>
到目前为止,这是我的 Java 类:
@XmlRootElement(name = "parameter")
public class Parameter {
private Integer dataIdentifier;
private ParameterValue newValue;
..
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ParameterValue {
@XmlAttribute(name="encoding")
private String encoding;
private String value;
..
}
我确信我的问题有一个简单的解决方案。不幸的是,我对 JAXB 注释一无所知。
我已经投入了几个小时,但我找不到办法去做。有人可以告诉我如何解决这个问题吗?
谢谢
您必须使用以下内容class
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ParameterValue {
@XmlAttribute(name="encoding") private String encoding;
@XmlValue private String value;
..
}
这是我目前得到的 XML 输出:
<parameter>
<dataIdentifier>123</dataIdentifier>
<newValue encoding="base64">
<value>NjUw</value>
</newValue>
</parameter>
这是我想要的 XML 输出:
<parameter>
<dataIdentifier>123</dataIdentifier>
<newValue encoding="base64">NjUw</newValue>
</parameter>
到目前为止,这是我的 Java 类:
@XmlRootElement(name = "parameter")
public class Parameter {
private Integer dataIdentifier;
private ParameterValue newValue;
..
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ParameterValue {
@XmlAttribute(name="encoding")
private String encoding;
private String value;
..
}
我确信我的问题有一个简单的解决方案。不幸的是,我对 JAXB 注释一无所知。 我已经投入了几个小时,但我找不到办法去做。有人可以告诉我如何解决这个问题吗?
谢谢
您必须使用以下内容class
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ParameterValue {
@XmlAttribute(name="encoding") private String encoding;
@XmlValue private String value;
..
}