Как сделать XML-Split и сохранить родительский элемент? - PullRequest
0 голосов
/ 10 октября 2019

Я знаю, что Spring Integration довольно старая, но у меня есть кусок кода, который нуждается в небольшой модификации, чтобы двигаться дальше. Мне нужно разделить входящее XML-сообщение и сохранить родительский узел. Вот мой XML:

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

И я хочу разбить на 2 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 голосов
/ 14 октября 2019

Что вам нужно, это <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 и так далее.

0 голосов
/ 14 октября 2019

Я знаю, что Spring Integration довольно старая

??

Она активно поддерживается и совершенствуется;в этом месяце вышла совершенно новая версия .

Вам нужен либо специальный разделитель, либо вы можете добавить преобразователь после разделителя, чтобы добавить внешний узел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...