【发布时间】:2013-01-26 15:35:43
【问题描述】:
我正在尝试创建一个 XSLT 来转换 XML 文档,但是我在分组时遇到了问题。我可以毫无问题地提取单个对象的信息,但我不知道如何使用 xslt 对某些元素进行分组。我尝试过 xsl:for-each-group 和 xsl:key 进行分组,但我没有成功转换。
输入:
<?xml version="1.0" standalone="yes"?>
<root>
<node1>
<ID>2</ID>
<Name>ABCDE</Name>
<Age>21</Age>
<Skills>C++ C#</Skills>
<worklocation>IN</worklocation>
<designaton>Engineer I</designaton>
</node1>
<node2>
<ID>3</ID>
<Name>EFGH</Name>
<Age>12</Age>
<Skills>java</Skills>
<worklocation>USA</worklocation>
<designaton>Engineer II</designaton>
</node2>
</root>
期望的输出:
<root>
<node1>
<ID>2</ID>
<Name>ABCDE</Name>
<Age>21</Age>
<workInfo>
<Skills>C++ C#</Skills>
<worklocation>IN</worklocation>
<designaton>Engineer I</designaton>
</workInfo>
</node1>
<node2>
<ID>3</ID>
<Name>EFGH</Name>
<Age>12</Age>
<workInfo>
<Skills>java</Skills>
<worklocation>USA</worklocation>
<designaton>Engineer II</designaton>
</workInfo>
</node2>
</root>
【问题讨论】:
-
从您的示例输出来看,您似乎并不是真的在谈论 分组(分组涉及将几个具有共同价值的项目放在一起),而只是放置几个另一个节点内的节点。对吗?
-
@JLRishe:正确。抱歉,我是 xsl 的新手
-
不用担心。 :) 看起来缩放为您提供了一个很好的解决方案。