我正在尝试使用 XPath 1.0 从以下 xml 中识别重复的序列号,然后使用 .Net 在 .Net 中对其进行评估XPathNavigator
。
<?xml version="1.0" encoding="utf-16"?>
<Inventory xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Items>
<Item>
<SerialNumber>1111</SerialNumber>
</Item>
<Item>
<SerialNumber>1112</SerialNumber>
</Item>
<Item>
<SerialNumber>1112</SerialNumber>
</Item>
</Items>
</Inventory>
我试图通过评估来做到这一点
//Items/Item/SerialNumber
.Net中的自定义 XSLT 上下文函数(IXsltContextFunction
像此 MSDN 示例那样实现)中的表达式,但 Invoke 函数一次被调用一个结果,因此我看不到其他结果以查找重复项。
1) 有没有办法使用单个 XPath 1.0 表达式来做到这一点?
或者
2) 有没有办法将元素数组传递到自定义 XSLT 上下文函数类的单个 Invoke 调用中?我在 VB.Net 工作,但对任何人都可以分享的任何 C# 示例都很满意。
谢谢,
加文
编辑
感谢 OR Mapper 和 Dimitre 的回复。我最初接受了 OR Mapper 的回复,因为它确实按照我的要求进行。我已经接受了 Dimitre 的回答,因为我喜欢它提供了一个独特的值列表。不过,这两种回答都非常有帮助!