尝试将我的类映射到xml并添加自定义属性。
public class MyXmlMappings {
@XmlElement
protected String username;
@XmlElement
protected String password;
@XmlElement
protected Integer age;
}
编组到xml之后的看起来像这样:
<myXmlMappings>
<username/>
<password/>
<age/>
</myXmlMappings>
我需要像这样的xml:
<myXmlMappings>
<username type="String" defaultValue="hello" />
<password type="String" defaultValue="asdf" />
<age type="Integer" defaultValue="25" />
</myXmlMappings>
如您所见,我添加了type和defaultValue属性。如何将它们添加到myXmlMappings类以便在编组后显示?
向myXmlMappings类添加额外字段是不可行的我想以某种方式使用注释。
答案 0 :(得分:1)
XML表示
我建议使用以下XML表示法:
<myXmlMappings>
<xmlMapping name="username" type="String" defaultValue="hello" />
<xmlMapping name="password" type="String" defaultValue="asdf" />
<xmlMapping name="age" type="Integer" defaultValue="25" />
</myXmlMappings>
Java模型
使用以下Java模型:
的 XmlMappings 强> 的
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class MyXmlMappings {
@XmlElement(name="xmlMapping")
protected List<XmlMapping> xmlMappings;
}
的 XmlMapping 强> 的
@XmlAccessorType(XmlAccessType.FIELD)
public class XmlMapping {
@XmlAttribute
protected String name;
@XmlAttribute
protected String type;
@XmlAttribute
protected String defaultValue;
}
答案 1 :(得分:1)
试试这个:
public class MyXmlMappings {
@XmlPath("username/@type")
protected String userType;
@XmlPath("password/@type")
protected String passwordType;
@XmlPath("age/@type")
protected String ageType;
@XmlPath("username/@defaultValue")
protected String userDefaultValue;
@XmlPath("password/@defaultValue")
protected String passwordDefaultValue;
@XmlPath("age/@defaultValue")
protected Integer ageDefaultValue;
@XmlElement
protected String username;
@XmlElement
protected String password;
@XmlElement
protected Integer age;
}