2017-10-12 20 views
0

私はPOJOを使用してxmlを作成するためにfasterxml.jacksonを使用しています。xmlをjava fasterxmlで作成する

私は以下のように出力を期待しています:

<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> tag.whatが私のコードで間違っていますか?

このコード内の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(); 
      } 

答えて

1

顧客が配列されている、とあなたがポストされたXML形式で複数の項目を追加することはできません。

<Customer xmlns=""> 
    <firstname>FirstNameA</firstname> 
    <middlename>LastNameA</middlename> 
</Customer> 

ちょうどあなたのコードに置き換えます:

Customer cust = new Customer("FirstNameA", "LastNameA"); 
+0

ありがとうございました。 –

+0

矢印をクリックするだけで、他のユーザーに正しいソリューションであることを伝えることができます。 – marco

+0

私はあなたの答えをupvoted –

関連する問題