2017-10-12 34 views
0

나는 fasterxml.jackson을 사용하여 POJO를 사용하여 xml을 생성하고 있습니다.자바 빠른 xml로 XML 만들기

나는 다음과 같이 출력을 기대하고있다 : 왜 <item> 태그를 추가한다

<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> 태그를 보여줍니다. 내 코드에 잘못이 있습니까?

코드에서

@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

고객이 배열 POJO이며, 당신은 당신이 게시 된 XML 스타일에서 하나 개 이상의 항목을 추가 할 수 없습니다 :

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

은 당신의 코드에서 대체 :

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

해답을 제공해 주셔서 감사합니다. –

+0

화살표를 클릭하면 다른 사용자에게 올바른 해결책이라고 알릴 수 있습니다. – marco

+0

나는 대답을 upvoted –