Мой исходный XML выглядит следующим образом:XSLT: Группа различных типов элементов
<A>
<item>
<X>10</X>
<Y>20</Y>
<Data1>Foo</Data1>
</item>
</A>
<B>
<item>
<X>10</X>
<Y>20</Y>
<Data2>Bar</Data2>
</item>
</B>
<A>
<item>
<X>11</X>
<Y>20</Y>
<Data1>Foo2</Data1>
</item>
</A>
<B>
<item>
<X>11</X>
<Y>20</Y>
<Data2>Bar2</Data2>
</item>
</B>
Обратите внимание, что A
s и s B
всегда происходят попарно по отношению к значениям X
и Y
. Также обратите внимание, что есть и другие элементы, содержащие вложенный элемент item
, который следует игнорировать. Теперь моя цель состоит в том, чтобы сгруппировать элементы, имеющие одинаковые значения для X
и Y
в новые элементы, похожие на это:
<NewElement>
<X>10</X>
<Y>20</Y>
<Data1>Foo</Data1>
<Data2>Bar</Data2>
</NewElement>
<NewElement>
<X>11</X>
<Y>20</Y>
<Data1>Foo2</Data1>
<Data2>Bar2</Data2>
</NewElement>
Я прочитал о Muenchian группировки, но мне кажется, что это работает только для одних и тех же элементов (например, в моем примере я мог бы группировать все A
с теми же значениями для X
и Y
). Как я могу группировать разные элементы?
Если я правильно понял ваше описание правильно, это на самом деле не о группировка. Кажется, вам нужно создать 'NewElement' для каждого' A' и заполнить его данными как из текущего 'A', так и из соответствующего' B'. –
Я думаю, вы правы - глупый я. Я отправлю свое решение (что, вероятно, немного легче понять), и согласитесь, что один - надеюсь, что вы довольны тем, что «ответ - полезный» кредит ... – csoltenborn