I have some XML
<?xml version="1.0" encoding="UTF-8"?>
<CAT>
<CATALOG>
<CD>
<title>affffff</title>
<year>1475</year>
</CD>
<CD>
<title>affffff</title>
<year>1475</year>
</CD>
</CATALOG>
</CAT>
For parsing with XmlAdapter i use next mapping
@XmlRootElement (name = "CAT")
@XmlAccessorType(XmlAccessType.FIELD)
public class Catalog {
@XmlElement (name = "CATALOG")
@XmlJavaTypeAdapter(MapAdapter.class)
private Map<String, Item> properties;
but if I will exclude next XML tag (example below, same example but without tag "CAT")
<CATALOG>
<CD>
<title>affffff</title>
<year>1475</year>
</CD>
<CD>
<title>affffff</title>
<year>1475</year>
</CD>
</CATALOG>
I can not modify my mapping and put XmlAdapter on @XmlRootElement (name = "CATALOG") What I try bellow: (it is not working, XmlAdapter not matching...)
@XmlRootElement (name = "CATALOG")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlJavaTypeAdapter(MapAdapter.class)
public class Catalog {
@XmlElement (name = "CD")
private Map<String, Item> properties;
Question
How can I avoid this problem and connect my custom XmlAdapter to root XML tag ?
No comments:
Post a Comment