我正在编写一个 java 应用程序,它将模式绑定的 XML 作为输入并需要将其转换为 protbuf。无需进行任何处理;我只需要从 XML 中获取一些字段并使用它们来创建一个 protobuf。
我希望我可以使用 JIBX 将 XML 直接映射到我的 protobuf 的 Builder 类,从而消除任何中间工作。但是,JIBX 要求正在构建的对象的设置方法返回 void (http://jibx.sourceforge.net/details/binding-attributes.html)。Protobuf 生成的 Builder 类遵循 builder 设计模式,并且不会从其 setter 方法返回 void。
有没有办法绕过这个问题并让 JIBX 直接将 XML 转换为 protobuf 类?也许我应该考虑使用另一种 XML 解析工具*?还是我必须编写一些中间代码来促进 XML 和 protobuf 之间的转换?
*注意:我收到的输入 XML 非常大,我只需要其中的几个字段。这减少了我使用的一些较重的 XML 解析工具。