2016-11-17 8 views
0

Я хочу знать эквивалент EXI от unmarshaller JAXB.EXI получить JAXB unmarshaller

Я рассмотрел примеры EXI, где я успешно получил EXIFactory, задал грамматику и получил XMLReader.

В примере затем создается трансформатор для преобразования потока EXI в поток XML.

Однако мне не нужен выходной поток. Мне просто нужен unmarshalled результат, чтобы остаться как POJO в памяти. Мне нужно, чтобы результат был прямым unmarshall EXI. Я использую EXI marshall/unmarshall как более быструю альтернативу текстовому XML.

Забыл сказать, какую библиотеку я использовал. Вот оно:

<groupId>com.siemens.ct.exi</groupId> 
    <artifactId>exificient</artifactId> 
    <version>0.9.6</version> 

ответ

0

JAXB ИАС/Unmarshaller позволяют устанавливать различный механизм ввода/вывода

например Unmarshaller.unmarshal (источник javax.xml.transform.Source)

или

Marshaller.marshal (Object jaxbElement, javax.xml.transform.Result результата)

EXIficient реализует

javax .xml.transform.Source (см com.siemens.ct.exi.api.sax.EXISource)

javax.xml.transform.Result (см com.siemens.ct.exi.api.sax.EXIResult)

И, EXISource и EXIResult, могут быть инициализированы EXIFactory.

Надеется, что это помогает,

- Daniel