我有一个如下所示的 xml。我需要找到所有不同的货币。使用以下
<xsl:for-each select="$itemPrices/Relationships/Relationship/Target
/Properties/PropertyItem[cs:Key='Currency']/cs:Value">
我已经能够获得所有货币类型,但有重复。我需要使用 XSLT 1.0 找到不同的值。我遇到了使用前后兄弟姐妹的解决方案,但我能够获得相同级别的兄弟姐妹。我无法构建一个 XPath,它可以升级四级中的三级,然后查看可比较的下一个兄弟。
<Relationship>
<ModelName>Entities.Relationship</ModelName>
<Properties />
<Target>
<ModelName>ItemPrice</ModelName>
<Properties>
<PropertyItem>
<Key>Currency</Key>
<Value i:type="a:string" xmlns:a="http://www.w3.org/2001/XMLSchema">US</Value>
</PropertyItem>
<PropertyItem>
<Key>PriceValue</Key>
<Value i:type="a:decimal" xmlns:a="http://www.w3.org/2001/XMLSchema">13.51</Value>
</PropertyItem>
<PropertyItem>
<Key>ProductId</Key>
<Value i:type="a:string" xmlns:a="http://www.w3.org/2001/XMLSchema">0600</Value>
</PropertyItem>
</Properties>
</Target>
</Relationship>
<Relationship>
<ModelName>Entities.Relationship</ModelName>
<Properties />
<Target>
<ModelName>ItemPrice</ModelName>
<Properties>
<PropertyItem>
<Key>Currency</Key>
<Value i:type="a:string" xmlns:a="http://www.w3.org/2001/XMLSchema">US</Value>
</PropertyItem>
<PropertyItem>
<Key>PriceValue</Key>
<Value i:type="a:decimal" xmlns:a="http://www.w3.org/2001/XMLSchema">11.82</Value>
</PropertyItem>
<PropertyItem>
<Key>ProductId</Key>
<Value i:type="a:string" xmlns:a="http://www.w3.org/2001/XMLSchema">0600</Value>
</PropertyItem>
</Properties>
</Target>
</Relationship>
<Relationship>
<ModelName>Entities.Relationship</ModelName>
<Properties />
<Target>
<ModelName>ItemPrice</ModelName>
<Properties>
<PropertyItem>
<Key>Currency</Key>
<Value i:type="a:string" xmlns:a="http://www.w3.org/2001/XMLSchema">Canadian</Value>
</PropertyItem>
<PropertyItem>
<Key>PriceValue</Key>
<Value i:type="a:decimal" xmlns:a="http://www.w3.org/2001/XMLSchema">10.95</Value>
</PropertyItem>
<PropertyItem>
<Key>ProductId</Key>
<Value i:type="a:string" xmlns:a="http://www.w3.org/2001/XMLSchema">0600</Value>
</PropertyItem>
</Properties>
</Target>
</Relationship>
所以在上面的 XML 中,我应该只得到一次美国和加拿大,而不是美国两次和加拿大一次。我怎样才能做到这一点?