使用Camel Tokenizer语言拆分嵌套XML

时间:2015-11-06 13:32:14

标签: java xml apache-camel

我正在尝试使用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()无法使其正常工作,因为它只扫描&lt; / unit&gt;结束标记。处理这种情况的首选方法是什么?是否有其他分裂方法可以得到我需要的结果?我想使用streaming(),所以拆分xpath()不是我的选择。

1 个答案:

答案 0 :(得分:1)

您可以使用允许使用支持流模式的SAX API的camel-stax。

您需要定义一个POJO和声明绑定的JAXB注释。