簡體   English   中英

從Java中的xsd文件生成xml字符串

[英]Generate xml String from a xsd file in Java

我有一個很大的架構文件( .xsd ),可以從以下選項中進行選擇:

<xs:element name="MyData">
    <xs:complexType>
        <xs:choice maxOccurs="unbounded">
            <xs:element name="AAA" type="AAAType" maxOccurs="unbounded" />
            <xs:element name="BBB" type="BBBType" maxOccurs="unbounded" />
            <xs:element name="CCC" type="CCCType" maxOccurs="unbounded" />
            <xs:element name="DDD" type="DDDType" maxOccurs="unbounded" />
            <xs:element name="EEE" type="EEEType" maxOccurs="unbounded" />
            <xs:element name="FFF" type="FFFType" maxOccurs="unbounded" />
            <xs:element name="GGG" type="GGGType" maxOccurs="unbounded" />
            <xs:element name="HHH" type="HHHType" maxOccurs="unbounded" />
            <xs:element name="III" type="IIIType" maxOccurs="unbounded" />
            <xs:element name="JJJ" type="JJJType" maxOccurs="unbounded" />
            <xs:element name="KKK" type="KKKType" maxOccurs="unbounded" />
            <xs:element name="LLL" type="LLLType" maxOccurs="unbounded" />
            <xs:element name="MMM" type="MMMType" maxOccurs="unbounded" />
            <xs:element name="NNN" type="NNNType" maxOccurs="unbounded" />
            <xs:element name="OOO" type="OOOType" maxOccurs="unbounded" />
            <xs:element name="PPP" type="PPPType" maxOccurs="unbounded" />
            <xs:element name="QQQ" type="QQQType" maxOccurs="unbounded" />
            <xs:element name="RRR" type="RRRType" maxOccurs="unbounded" />
            <xs:element name="SSS" type="SSSType" maxOccurs="unbounded" />
            <xs:element name="TTT" type="TTTType" maxOccurs="unbounded" />
            <xs:element name="UUU" type="UUUType" maxOccurs="unbounded" />
            <xs:element name="VVV" type="VVVType" maxOccurs="unbounded" />
            <xs:element name="WWW" type="WWWType" maxOccurs="unbounded" />
            <xs:element name="XXX" type="XXXType" maxOccurs="unbounded" />
            <xs:element name="YYY" type="YYYType" maxOccurs="unbounded" />
            <xs:element name="ZZZ" type="ZZZType" maxOccurs="unbounded" />
        </xs:choice>
        <xs:attribute name="version" type="xs:string" />
    </xs:complexType>
</xs:element>

每種類型都有其自己的序列和復雜類型。 有沒有一種方法可以用Java編程,可以選擇將其作為字符串,然后在模式文件中查找並輸出XML字符串? 與您可以在給定架構的Eclipse中創建XML文件的方式類似,我想以編程方式進行操作。

看一下JAXB,它讀取模式文件並生成遵循XSD中設置的規則的Java類。 它基本上創建了POJO對象,該對象具有許多設置器,可以輕松地填充所需的XML數據。

JAXB是常用的,無論如何都值得學習。

在這里查看官方文檔

課程:JAXB簡介

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM