我正在使用 fastxml.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();
}
最佳答案
代码中的customer是一个数组,并且您不能在发布的xml样式中添加多个项目:
<Customer xmlns="">
<firstname>FirstNameA</firstname>
<middlename>LastNameA</middlename>
</Customer>
只需替换您的代码:
Customer cust = new Customer("FirstNameA", "LastNameA");
关于java - 在java中创建Xml fastxml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46710169/