如何进行XML拆分并保留父元素?

时间:2019-10-10 19:41:06

标签: spring-integration

我知道Spring Integration很老,但是我有一段代码需要稍作修改才能继续。我需要拆分传入的XML消息并保留父节点。这是我的XML:

<Order>
  <Item>A</Item>
  <Item>B</Item>
</Order>

我想分成两种XML,并保留XSD验证。

<Order>
 <Item>A</Item>
</Order>

<Order>
  <Item>B</Item>
</Order>

此操作:

<beans xmlns:int-xml="http://www.springframework.org/schema/integration/xml">
...
<int-xml:xpath-splitter id="splitter">
<int-xml:xpath-expression expression="/Order/Item"/>
</int-xml:xpath-splitter>
...

它分为

<Item>A</Item> 

<Item>B</Item> 

但是我需要父母在那里。无论如何使其有效?预先感谢。

2 个答案:

答案 0 :(得分:0)

  

我知道Spring Integration很老

??

它是积极维护和增强的;有一个completely new release this month

您需要自定义拆分器,也可以在拆分器之后添加一个转换器以添加外部节点。

答案 1 :(得分:0)

您需要的是<int-xml:xslt-transformer>之后的<int-xml:xpath-splitter>

有关更多信息,请参见参考手册:https://docs.spring.io/spring-integration/docs/5.2.0.RELEASE/reference/html/xml.html#xml-xslt-payload-transformers

您需要了解什么是XSLT等。