Automatic fieldproperty XML mapping configuration XmlAccessorType
suggest changeAnnotation @XmlAccessorType
determines whether fields/properties will be automatically serialized to XML. Note, that field and method annotations @XmlElement
, @XmlAttribute
or @XmlTransient
take precedence over the default settings.
public class XmlAccessTypeExample { @XmlAccessorType(XmlAccessType.FIELD) static class AccessorExampleField { public String field="value1"; public String getGetter() { return "getter"; } public void setGetter(String value) {} } @XmlAccessorType(XmlAccessType.NONE) static class AccessorExampleNone { public String field="value1"; public String getGetter() { return "getter"; } public void setGetter(String value) {} } @XmlAccessorType(XmlAccessType.PROPERTY) static class AccessorExampleProperty { public String field="value1"; public String getGetter() { return "getter"; } public void setGetter(String value) {} } @XmlAccessorType(XmlAccessType.PUBLIC_MEMBER) static class AccessorExamplePublic { public String field="value1"; public String getGetter() { return "getter"; } public void setGetter(String value) {} } public static void main(String[] args) { try { System.out.println("\nField:"); JAXB.marshal(new AccessorExampleField(), System.out); System.out.println("\nNone:"); JAXB.marshal(new AccessorExampleNone(), System.out); System.out.println("\nProperty:"); JAXB.marshal(new AccessorExampleProperty(), System.out); System.out.println("\nPublic:"); JAXB.marshal(new AccessorExamplePublic(), System.out); } catch (Exception e) { System.err.println("Exception occurred while writing in XML!"); } } } // outer class end
Output
Field: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <accessorExampleField> <field>value1</field> </accessorExampleField> None: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <accessorExampleNone/> Property: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <accessorExampleProperty> <getter>getter</getter> </accessorExampleProperty> Public: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <accessorExamplePublic> <field>value1</field> <getter>getter</getter> </accessorExamplePublic>
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents