Я новичок в использовании jaxb, я могу маршалировать класс java с аннотациями xml на .xml, но не способен извлекать данные во время unmarshalling. Когда я делаю sysout в своих немаршаллированных данных, он печатает адрес контекста, а не фактические значения. Я не уверен, где я ошибаюсь.JAXB unmarshalling подробно
<collections>
<collectionclass="testclass">
<group>
<header code="T123" type="toys"/>
<obj1 location="1" shelf="4" />
<obj2 location="7" shelf="2" count="3"/>
<associations>
<association type="String" associatedName="train" associatedFieldSize="0"/>
<association type="DataLength" associatedName="ship" associatedFieldSize="0"/>
</associations>
</obj2>
</group>
<collectionclass="testclass">
</collections>
Кроме того, я хотел бы знать больше о таких терминах, как «контекст JAXB» и «Java модели/Java модель классы», генерируемый на демаршаллизацию документа XML и как она входит в картину.
Заранее благодарен!
Я пытался что-то вроде этого, JAXBContext JAXBContext = JAXBContext.newInstance (Collections.class); Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); Коллекция коллекцийContext = (Коллекции) jaxbUnmarshaller.unmarshal (новый файл («TestXml.xml»)); System.out.println (collectionContext); OUTPUT: [email protected] – yellow
Похоже, вы пытаетесь напечатать объект. Вы должны напечатать свойства в этом объекте, тогда только вы можете увидеть значения. System.out.println (customer.name); – spm