-1
我對Java非常陌生。我有一個xsd,我需要基於xsd創建xml。我看到我們可以使用JAXB來完成這些工作。但是我看到了本質上很簡單的xml示例。我有一個示例xsd,如下所示,我需要轉換爲xml。使用Java從XSD創建XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:addml="http://www.arkivverket.no/standarder/addml"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.arkivverket.no/standarder/addml" elementFormDefault="qualified"
version="8.2">
<xs:annotation>
<xs:documentation xml:lang="en">
Changes made in versions up to 8.2 are not documented in this document.
Updated 2014-08-15 and 2014-09-29, Terje Pettersen-Dahl:
Version 8.3:
1. Element reference in dataset made optional.
2. Optional possibility for header-lines.
3. FieldDefinitionReference made unique within an instance.
4. Created this documentation section.
</xs:documentation>
</xs:annotation>
<xs:element name="addml">
<xs:complexType>
<xs:sequence>
<xs:element ref="addml:objectStore" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="objectStore">
<xs:complexType>
<xs:sequence>
<xs:element ref="addml:folder" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="folder">
<xs:complexType>
<xs:sequence>
<xs:element ref="addml:folderProperties" minOccurs="0"/>
<xs:element ref="addml:documents" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="documents">
<xs:complexType>
<xs:sequence>
<xs:element name="document" maxOccurs="unbounded" minOccurs="2">
<xs:complexType>
<xs:sequence>
<xs:element ref="addml:docProperties"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="docProperties">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="xs:string"/>
<xs:element name="documentTitle" type="xs:string"/>
<xs:element name="dateCreated" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="folderProperties">
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="xs:string"/>
<xs:element name="documentTitle" type="xs:string"/>
<xs:element name="dateCreated" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="utf-8"?>
<addml>
<objectStore>
<folder>
<folderProperties>
<documentId>str1234</documentId>
<documentTitle>str1234</documentTitle>
<dateCreated>str1234</dateCreated>
</folderProperties>
<documents>
<document>
<docProperties>
<documentId>str1234</documentId>
<documentTitle>str1234</documentTitle>
<dateCreated>str1234</dateCreated>
</docProperties>
</document>
<document>
<docProperties>
<documentId>str1234</documentId>
<documentTitle>str1234</documentTitle>
<dateCreated>str1234</dateCreated>
</docProperties>
</document>
</documents>
</folder>
</objectStore>
</addml>
我需要像上面這樣的XML。注意:我使用在線轉換器獲得了下面的XML。
請幫助使用Java創建xml。任何幫助深表感謝。 謝謝,馬克
到目前爲止你做了什麼,你卡在哪裏? StackOverflow不是一個代碼(或XML)寫作服務;你需要提出具體和可回答的問題。 –
嗨Erwin,我對Java非常陌生。我需要關於如何從xsd創建一個xml的輸入。我已經使用JAXB爲示例xsd創建了一個xml。在上面的例子中,標籤是重複元素,也是動態的。有時我可能有時會得到3個元素5.所以我需要知道如何實現這種行爲。謝謝 –
user1194310
我想你會以錯誤的方式去做。您不能從XSD文件創建XML文檔(至少不是有意義的文檔)。您需要從要用XML編碼的數據開始,在創建該XML時,需要確保它滿足架構。如果您使用JAXB,它已經可以幫助您,因爲它只具有XSD中元素和屬性的Java屬性。 –