我正在尝试使用XMLMapper
将XML反序列化为Java Object,但是我正面临MistmactchInputException
。
XML:
<author>
<id type="integer">1234</id>
<name>Hello World</name>
</author>
Java类:
public class MyObject {
@JacksonXmlProperty(localName = "id")
private Integer id;
@JacksonXmlProperty(localName = "name")
private String name;
// Constructor, Getter, Setter
}
问题出在id
xml标记中,其中提到了type="integer"
。如果我删除type="integer"
,它将非常正常。
答案 0 :(得分:0)
只需使用@JacksonXmlRootElement
批注,如:
@JacksonXmlRootElement(localName = "id")
@Data //for getters and setters
public class Id {
@JacksonXmlProperty(isAttribute=true)
String type;
@JacksonXmlText
String text;
}
您的课程应该是这样的:
public class MyObject {
@JacksonXmlProperty(localName = "id")
private Id id;
@JacksonXmlProperty(localName = "name")
private String name;
// Constructor, Getter, Setter
}