在java中创建xml更快xml
问题描述:
我正在使用fasterxml.jackson使用POJO创建xml。在java中创建xml更快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();
}
答
客户在你的代码是一个数组,你不能在您发布的XML样式添加多个项目:
<Customer xmlns="">
<firstname>FirstNameA</firstname>
<middlename>LastNameA</middlename>
</Customer>
只需更换你的代码:
Customer cust = new Customer("FirstNameA", "LastNameA");
感谢您的解决方案。 –
只需点击向上箭头,告诉其他用户它是正确的解决方案。 – marco
我已经upvoted你的回答 –