使用JAXB对现有POJO进行XML转换后,我得到XML:
<USER>
<FIELDNAME>FirstName</FIELDNAME>
<FIELDVALUE>Michael</FIELDVALUE>
<FIELDID>001</FIELDID>
</USER>
但是,根据要求,它必须是:
<USER>
<FIRSTNAME ID="001">Michael</FIRSTNAME>
</USER>
因此我将POJO修改为:
User.java
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="USER")
public class User
{
@XmlVariableNode("fieldName")
List<Field> field;
// getter/setter
}
Field.java
@XmlAccessorType(XmlAccessType.FIELD)
public class Field
{
@XmlTransient
public String fieldName;
@XmlValue
public String fieldValue;
// getter/setter
}
有点期待XML(如下所示),但不完全是:
<USER>
<FIRSTNAME>Michael</FIRSTNAME>
</USER>
上面提到的场景太简单了,但除了 FIRSTNAME 之外,还有很多元素取决于具体情况。 现在,我应该如何以及如何获取 FIRSTNAME 的 ID 属性。我需要声明ID属性或其他可以帮助我得到我想要的东西。
答案 0 :(得分:0)
您可以使用@XmlAttribute
。
您打算自动生成ID吗?
示例:
@XmlAttribute(name="ID")
private String id;