1

我有这两个数组:

<xsl:variable name="array1" select="umbraco.library:Split($currentPage/websiteThemes, ',')//value"/>
<xsl:variable name="array2" select="umbraco.library:Split($currentPage/websiteThemes2, ',')//value"/>

我想看看数组中哪些元素匹配。我怎样才能做到这一点?

这是 array1 和 array2 的副本的输出:

数组1:

<value>1087</value><value>1002</value><value>3202</value>

数组2:

<value>1087</value><value>1577</value>

在这个例子中,我想得到值 1087 作为我的结果。

4

1 回答 1

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>
于 2012-09-28T13:23:51.777 回答