Я пишу Java-приложение, которое принимает ограниченный схемой XML в качестве входных данных и нуждается в преобразовании его в protbuf. Там нет обработки необходимо сделать; Мне просто нужно взять несколько полей из XML и использовать их для создания протобуфа.
Я надеялся, что смогу использовать JIBX для прямого сопоставления XML с классом Builder моего протобуфа, таким образом устраняя любую промежуточную работу. Однако JIBX требует, чтобы set-методы создаваемого объекта возвращали void (http://jibx.sourceforge.net/details/binding-attributes.html). Сгенерированный класс Protobuf Builder следует шаблону конструктора и не возвращает void из своего метода setter.
Есть ли способ обойти эту проблему и заставить JIBX напрямую переводить XML в класс protobuf? Возможно, есть другой инструмент разбора XML *, который я должен изучить в использовании? Или мне придется написать некоторый промежуточный код для облегчения перевода между XML и protobuf?
* примечание: входной XML, который я получаю, чрезвычайно велик, и мне нужно лишь несколько полей из него. Это исключает некоторые из более тяжелых инструментов синтаксического анализа XML от моего использования.