2016-08-24 2 views
2

Как создать класс объектов java с помощью xml-строки с использованием JAXB или любым другим способом? Я хотел бы передать xml-строку и сгенерировать класс для сопоставления. У меня есть вложенная строка, как, например:Xml string для объектов с использованием JAXB

<?xml version="1.0"?> 
    <tag1> 
     <tag2> 
      <tag3> 
       <tag4>read me</tag4> 
      </tag3> 
     </tag2> 
    </tag1> 
+0

У вас есть схемы XML, которая определяет структуру документа XML? – VGR

+0

Нет, мне дается xml-строка, и я хотел бы сделать unmarshaling через объект. –

ответ

1

Если предположить, что ваш XML не изменит структуры с течением времени, вы можете создать XSD-файл с помощью инструмента, как http://www.freeformatter.com/xsd-generator.html.

Вот это дает мне:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="tag1"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="tag2"> 
      <xs:complexType> 
      <xs:sequence> 
       <xs:element name="tag3"> 
       <xs:complexType> 
        <xs:sequence> 
        <xs:element type="xs:string" name="tag4"/> 
        </xs:sequence> 
       </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

Затем вы можете сохранить эту схему в локальной файловой системе, и запустите команду xjc myFile.xsd, который будет генерировать JAXB файлы для вас.

Подробнее о XJC, here

Смежные вопросы