【发布时间】:2012-08-07 15:47:18
【问题描述】:
我是 XSLT 的新手,手动更改它需要很长时间。
<GroupData ID="xxx" Key="4" Temp="yyy">
<ItemData ID="zzz" Value="3"/>
</GroupData>
<GroupData ID="xxx" Key="4" Temp="yyy">
<ItemData ID="www" Value="1982"/>
</GroupData>
我想让这些多个 GroupData 节点的子节点在同一个组中,即,
<GroupData ID="xxx" Key="4" Temp="yyy">
<ItemData ID="zzz" Value="3"/>
<ItemData ID="www" Value="1982"/>
</GroupData>
所以我需要在 GroupData 的 ID 和 Key 属性上合并/组合/匹配它们(这些在文件中有所不同)。还有一些没有 Key 属性。我怎样才能做到这一点?我阅读了一些其他线程(例如,在 C# 中,但我没有可用的)并且我检查了 W3 学校,但这些都是非常基本的示例。我正在使用 Notepad++ 的最新 XML Tools 2.3.2 r908 unicode (beta4) 来应用可能的转换(不知道它是否支持 XSLT2.0 或 XSLT1.0)。
编辑:在尝试了以下建议和各种事情后,我被卡住了,因为它有多个级别并且可能没有唯一的 ID:
...
【问题讨论】:
-
您可以使用 XSLT2.0,还是只使用 XSLT1.0? XSLT2.0 具有用于分组的特定元素,这些元素在 XSLT1.0 中不存在。在 XSLT1.0 中,您必须使用一种称为 Muenchian Grouping 的技术。