XPath 1.0 を使用して次の xml から重複したシリアル番号を特定しようとしてい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 つの結果を呼び出すため、重複を見つけるために他の結果を表示することはできません。
1) 単一の XPath 1.0 式を使用してこれを行う方法はありますか?
また
2) カスタム XSLT コンテキスト関数クラスの単一の Invoke 呼び出しに要素の配列を渡す方法はありますか? 私は VB.Net で作業していますが、誰でも共有できる C# の例に満足しています。
ありがとう、
ギャビン
編集
OR Mapper と Dimitre の回答に感謝します。OR Mapper は私が要求したことを実行したため、最初は OR Mapper の応答を受け入れました。それ以来、私はそれが明確な値のリストを提供するのが好きなので、Dimitreの答えを受け入れました。どちらの回答も非常に役に立ちます!