我无法想出一个XSLT来识别某个元素的重复项,并将其组合/压缩以避免重复。
我有这样的XML:
<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>
答案 0 :(得分:1)
这是一个标准的分组问题。如果您能够使用XSLT 2.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>
如果你坚持使用XSLT 1.0,请阅读Muenchian分组。