我正在使用fasterxml.jackson来使用POJO创建xml。
我期待输出如下:
<Customer xmlns="">
<firstname>FirstNameA</firstname>
<middlename>LastNameA</middlename>
</Customer>
But getting output as:
<Customer xmlns="">
<item>
<firstname>FirstNameA</firstname>
<middlename>LastNameA</middlename>
</item>
</Customer>
为什么会附加<item>
标记。我没有在任何地方添加<item>
标记,但输出显示<item>
标记。我的代码中有什么问题?
这是POJO
@JacksonXmlRootElement(localName = "Customer")
public class Customer {
@JacksonXmlProperty(localName="firstname")
private String firstname;
@JacksonXmlProperty(localName="middlename")
private String middlename;
public Customer(String firstname, String middlename) {
this.firstname = firstname;
this.middlename = middlename;
}
}
// code to create xml
ObjectMapper xmlMapper = new XmlMapper();
JacksonXmlModule module = new JacksonXmlModule();
module.setDefaultUseWrapper(false);
Customer[] cust = new Customer[]{new Customer("FirstNameA", "LastNameA")};
try {
String xml = xmlMapper.writeValueAsString(cust);
return xml;
} catch (JsonProcessingException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
<Customer xmlns="">
<firstname>FirstNameA</firstname>
<middlename>LastNameA</middlename>
</Customer>
只需替换代码:
Customer cust = new Customer("FirstNameA", "LastNameA");