简体   繁体   English

使用JAXB忽略根元素

[英]Ignoring root element using JAXB

I am using Spring and it's REST template to bind XML from a webservice to a domain object using JAXB. 我使用Spring和它的REST模板使用JAXB将XML从Web服务绑定到域对象。 The XML returned from the web service is as follows: 从Web服务返回的XML如下:

 <response>
     <user>
        <id>1</id>
        <name>bob</name>
        ...
     </user>
 </response>

I have a user class as follows: 我有一个用户类如下:

public class User {

    private String id;

    private String name;

}

Is it possible to ignore the "response" element and specify the root element to "user"? 是否可以忽略“response”元素并将根元素指定为“user”?

Thanks for any help. 谢谢你的帮助。

XML that represents your class, has like a root <user> tag. 表示您的类的XML与root <user>标记类似。

So: 所以:

  • or you use a java parser to extract the user subtree and after use JAXB, 或者您使用java解析器来提取用户子树并在使用JAXB之后,
  • otherwise you create another class response to mapping your webservice response. 否则,您将创建另一个类response来映射您的Web服务响应。

I suggest the second choice. 我建议第二个选择。

For informations, when you use whatever XML-binding framework, you must remember the one-to-one relation between class fields and XML tags. 对于信息,当您使用任何XML绑定框架时,​​您必须记住类字段和XML标记之间的一对一关系。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM