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