我有这两个数组:
<xsl:variable name="array1" select="umbraco.library:Split($currentPage/websiteThemes, ',')//value"/>
<xsl:variable name="array2" select="umbraco.library:Split($currentPage/websiteThemes2, ',')//value"/>
我想看看数组中哪些元素匹配。我怎么能做到这一点?
这是来自array1和array2的副本的输出:
ARRAY1:
<value>1087</value><value>1002</value><value>3202</value>
数组2:
<value>1087</value><value>1577</value>
在这个例子中,我想得到值1087作为我的结果。
答案 0 :(得分:2)
这个问题不太清楚,但我希望这能解决所提出的问题:
此转化:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:variable name="vArr1" select="/*/arr1/*"/>
<xsl:variable name="vArr2" select="/*/arr2/*"/>
<xsl:template match="/">
<xsl:copy-of select="$vArr1[. = $vArr2]"/>
</xsl:template>
</xsl:stylesheet>
应用于此XML文档(问题中未提供!):
<t>
<arr1>
<value>1087</value>
<value>1002</value>
<value>3202</value>
</arr1>
<arr2>
<value>1087</value>
<value>1577</value>
</arr2>
</t>
产生(我想是的)想要的结果:
<value>1087</value>