[英]Converting Java generic object to XML using JAXB
我想要XML有效负载,如:
<ResponseDto>
<ResponseHeader>
<success>true</success>
</ResponseHeader>
<ResponseBody>
<ObjectA>
</ObjectA>
</ResponseBody>
</ResponseDto>
和另一个有效载荷如:
<ResponseDto>
<ResponseHeader>
<success>true</success>
</ResponseHeader>
<ResponseBody>
<ObjectB>
</ObjectB>
</ResponseBody>
</ResponseDto>
所以我想为ResponseDto
创建一个包含ResponseHeader Object
和一个generic Java Object
的类,我可以在其中放置不同类型的对象,所以我在一个类中使用@XMLElement(name = "ResponseBody")
尝试了多种类型的对象但是它不允许我有相同的XMLElements
名称
在这种情况下我该怎么办? 提前致谢。
大多数企业应用程序都使用JAXB。 您可以在下面获得许多教程。
第1步:首先,您需要制作xsd文件。 有许多在线网站可以生成xsd。 立即使用http://xmlgrid.net/xml2xsd.html 。 XSD看起来应该是这样的。
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ResponseDto">
<xs:complexType>
<xs:sequence>
<xs:element name="ResponseHeader">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="success"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ResponseBody">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="ObjectA" minOccurs="0"/>
<xs:element type="xs:string" name="ObjectB" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
请参阅我的以下帖子以供参考。 在java中读取并获取xml值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.