【发布时间】:2023-03-16 20:30:02
【问题描述】:
我有一个 XML 文件(连同标题)有多个 CC 节点,每个 CC 节点有多个子节点,如下所示:
<File>
<Header/>
<CC>
<Div>
<SubDiv>
<Com>
<Reg>
<CCOrder>
</CC>
<CC>
<Div>
<SubDiv>
<Com>
<Reg>
<CCOrder>
</CC>
<CC>
<Div>
<SubDiv>
<Com>
<Reg>
<CCOrder>
</CC>
<File>
我想重新排列/排序 XSLT,使格式看起来像这样(CC 节点中的每个子节点按升序分组在一起):
<File>
<Header/>
<CCDiv>
<Div1>
<Div2>
<Div3>
</CCDiV>
<CCSubDiv>
<SubDiv1>
<SubDiv2>
<SubDiv3>
</CCSubDiv>
<CCCom>
<Com1>
<Com2>
<Com3>
<File>
Reg 和 CCOrder 节点以此类推。
有人可以帮忙吗?
【问题讨论】:
-
您没有付出太多努力,至少提供格式良好的输入和所需输出样本并将索引放入元素名称(就像您似乎想要的结果一样,例如 @987654323 @,
Div2) 是这里许多人不赞成的设计,但它似乎是一个简单的分组任务,所以决定你使用或可以使用哪个 XSLT 版本,在 XSLT 2/3 中使用 `xsl:for-each-group select=" //CC/*" group-by="node-name(.)"`` 应该是直截了当的。
标签: sorting xslt xslt-grouping