【发布时间】:2016-06-29 09:03:16
【问题描述】:
我的源 XML 如下所示:
<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>
请注意,As 和 Bs 始终相对于 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 分组的信息,但似乎这只适用于相同的元素(例如,在我的示例中,我可以将所有具有相同值的 As 分组为 X 和 Y)。如何对不同的元素进行分组?
【问题讨论】:
-
如果 (?) 我正确理解了您的描述,这与分组无关。看来您只需要为每个
A创建一个NewElement并使用来自当前A和相应B的数据填充它。 -
我认为你是对的——愚蠢的我。我将发布我的解决方案(这可能更容易理解)并接受该解决方案 - 希望您对“答案有用”的信用感到满意......
标签: xml xslt xslt-1.0 grouping muenchian-grouping