2

我正在编写一个 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 解析工具。

4

1 回答 1

1

我最终对输入 xml 执行了 XSL 转换,并通过(小型)自定义 SAX 解析器提供输出以创建 protobuf。谢谢您的帮助!

于 2012-03-23T21:40:35.883 回答