Я очень новичок в Java. У меня есть xsd, и мне нужно создать xml на основе xsd. Я видел, что мы можем использовать JAXB для работы. Но я видел примеры xml, которые просты по своей природе. У меня есть образец xsd, как показано ниже, который мне нужно преобразовать в xml.Создание XML из XSD с использованием Java
<?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 с помощью онлайн-конвертера.
Помогите в создании xml с использованием Java. Буду признателен за любую оказанную помощь. Спасибо, Марк
Что вы сделали до сих пор и где вы застряли? StackOverflow - это не приложение для написания кода (или XML); вам нужно представить конкретный и ответный вопрос. –
Привет, Эрвин, я очень новичок в Java. Мне нужны данные о том, как создать xml из xsd. Я создал xml для образца xsd, используя JAXB. В приведенном выше примере тег является повторяющимся элементом и также является динамическим. Иногда я могу получить 3 элемента иногда 5. Поэтому мне нужно знать, как добиться такого поведения. Спасибо –
user1194310
Я думаю, вы идете по этому не так. Вы не можете создать XML-документ из файла XSD (по крайней мере, не значимый). Вам нужно начать с данных, которые вы хотите кодировать в XML, и, пока вы делаете этот XML, вам необходимо убедиться, что он удовлетворяет схеме. Если вы используете JAXB, это уже поможет вам, потому что у него будут только свойства Java для элементов и атрибутов, которые находятся в XSD. –