[英]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.