使用 Camel Tokenizer 语言拆分嵌套 XML
Splitting nested XML with Camel Tokenizer language
我正在尝试使用 Camel 的 XMLTokenizer 语言拆分以下 XML:
<units>
<unit type="menu">
<id>1</id>
<unit type="submenu">
<id>1</id>
</unit>
</unit>
<unit type="menu">
<id>2</id>
<unit type="submenu">
<id>1</id>
</unit>
</unit>
</units>
我的分离器是这样的:
.split().tokenizeXML("unit").streaming()
我的问题是它生成的拆分 XML 没有像这样的结束标记:
<unit type="menu">
<id>1</id>
<unit type="submenu">
<id>1</id>
</unit>
使用 tokenizeXML() 似乎无法使其正常工作,因为它只会扫描 结束标记。处理这种情况的首选方法是什么?是否有其他一些拆分方法可以获得我需要的结果?我想使用 streaming() 所以用 xpath() 拆分对我来说不是一个选项。
您可以使用允许使用支持流模式的 SAX api 的 camel-stax。
您需要定义一个 POJO 和声明绑定的 JAXB 注释。
我正在尝试使用 Camel 的 XMLTokenizer 语言拆分以下 XML:
<units>
<unit type="menu">
<id>1</id>
<unit type="submenu">
<id>1</id>
</unit>
</unit>
<unit type="menu">
<id>2</id>
<unit type="submenu">
<id>1</id>
</unit>
</unit>
</units>
我的分离器是这样的:
.split().tokenizeXML("unit").streaming()
我的问题是它生成的拆分 XML 没有像这样的结束标记:
<unit type="menu">
<id>1</id>
<unit type="submenu">
<id>1</id>
</unit>
使用 tokenizeXML() 似乎无法使其正常工作,因为它只会扫描 结束标记。处理这种情况的首选方法是什么?是否有其他一些拆分方法可以获得我需要的结果?我想使用 streaming() 所以用 xpath() 拆分对我来说不是一个选项。
您可以使用允许使用支持流模式的 SAX api 的 camel-stax。
您需要定义一个 POJO 和声明绑定的 JAXB 注释。