Xml XSLT:将具有重复ID的平面列表转换为层次结构
我很难找到XSLT来识别某个元素的重复项,并对其进行组合/压缩以避免重复 我有这样的XML:Xml XSLT:将具有重复ID的平面列表转换为层次结构,xml,xslt,Xml,Xslt,我很难找到XSLT来识别某个元素的重复项,并对其进行组合/压缩以避免重复 我有这样的XML: <items> <item> <ID>1</ID> <RelationalID>55</RelationalID> </item> <item> <ID>1</ID> <RelationalI
<items>
<item>
<ID>1</ID>
<RelationalID>55</RelationalID>
</item>
<item>
<ID>1</ID>
<RelationalID>56</RelationalID>
</item>
<item>
<ID>1</ID>
<RelationalID>57</RelationalID>
</item>
<item>
<ID>2</ID>
<RelationalID>55</RelationalID>
</item>
</items>
希望它看起来像:
<items>
<item>
<ID>1</ID>
<RelationalID>55</RelationalID>
<RelationalID>56</RelationalID>
<RelationalID>57</RelationalID>
</item>
<item>
<ID>2</ID>
<RelationalID>55</RelationalID>
</item>
</items>
这是一个标准的分组问题。如果您能够使用XSLT2.0,请使用
<xsl:for-each-group select="item" group-by="ID">
<xsl:copy-of select="current-group()[1]/ID, current-group()/RelationalID"/>
</xsl:for-each-group>
如果您坚持使用XSLT1.0,请阅读Muenchian分组。如果您使用XSLT1.0,请搜索Muenchian分组。如果您使用的是XSLT2.0,请在xsl:上搜索每个组。如果仍然存在问题,请将XSLT添加到问题中。另请参见,我没有看到任何项目的真实副本。是否可以将一个项目与另一个项目具有相同的ID和RelationalID?如果是这样的话,XSLT应该如何处理/输出是什么样子的?请添加您迄今为止创建的XSLT。另外,请具体说明用于转换文件的XSLT版本。