在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"); 
+0

感谢您的解决方案。 –

+0

只需点击向上箭头,告诉其他用户它是正确的解决方案。 – marco

+0

我已经upvoted你的回答 –