вот моя проблема:JaxB - как не отобразить определенный узел XML
Я работаю над проектом, чтобы перейти от Castor к JaxB. Я очень новичок в JaxB и сталкиваюсь с проблемой, которая поражает мой разум, и, тем не менее, может быть довольно просто решить. Вот простой пример:
class Data
{
private Item item;
}
У меня есть данные, содержащие один элемент. Вот как выглядит выходной файл XML (, который я не могу изменить) как:
<Data>
<Items>
<Item>
<Item>
<Items>
<Data>
Даже если данные содержат только один элемент, он должен быть представлен в выходном XML в качестве элемента в элементах. Дело в том, что я не хочу, чтобы JaxB генерировал класс или свойство для Items, только Данные и Позиция.
Как должна выглядеть моя схема? Есть ли способ указать в схеме, что указанный элемент хранится в узле, который не имеет представления класса? Кое-что в моей логике может выглядеть так:
<xs:element name="Data">
<xs:complexType>
<xs:sequence>
<xs:element ref="Items"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Items"> <!-- Do not generate plz -->
<xs:complexType>
<xs:sequence>
<xs:element ref="Item" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Это помогло мне выбрать другое решение, так как было принято решение о том, что классы не могут быть изменены (мы обнаружили некоторые XML-файлы непосредственно unmarshalled в объекты спящего режима), я начал используйте внешнее отображение метаданных MOXy. – Drewman