XPathExpression によって選択されたノードを IComparer インターフェイスに従って並べ替えます。
Overloads Public MustOverride Sub AddSort( _
ByVal expr As Object, _ ByVal comparer As IComparer _)
[C#]
public abstract void AddSort(objectexpr,IComparercomparer);
[C++]
public: virtual void AddSort(Object* expr,IComparer* comparer) = 0;
[JScript]
public abstract function AddSort(
expr : Object,comparer : IComparer);
パラメータ
- expr
並べ替えキーを表す式。これは、文字列または XPathExpression オブジェクトである場合もあります。この式の結果は、比較のため XPath 仕様に準拠した文字列に変換されます。XSLT スタイルシートで、xsl:sort が使用されていて、選択式が指定されていない場合は、string(.) が既定で使用されます。 - comparer
データ型の比較に使用するため、 IComparer インターフェイスから派生したクラス。
例外
例外の種類 | 条件 |
---|---|
XPathException | XPathExpression または並べ替えキーにプリフィックスが含まれ、 XmlNamepsaceManager が提供されていないか、プリフィックスが提供された XmlNamepsaceManager で見つかりません。 |
解説
このメソッドを使用すると、ユーザーは、文字列や数値ではなく、データ型ごとにオブジェクトを並べ替えることができます。 IComparer インターフェイスは、ユーザー定義のクラスでの並べ替えをサポートする Compare メソッドの実装を提供します。
書籍を ISBN 番号順に並べ替える例を次に示します。ここで isbn は IComparer インターフェイスを実装するオブジェクトです。
XPathExpression expr = nav.Compile("bookstore/book");
ISBN isbn = new ISBN();
expr.AddSort("@ISBN", (IComparer)isbn);
並べ替えを追加する順序は、並べ替えキー順序を示します。
XPathExpression または並べ替えキーで名前空間の解決が必要な場合は、 SetContext メソッドを使用して、名前空間の解決の XmlNamespaceManager を提供する必要があります。
メモ XPathExpression にプリフィックスが含まれていない場合、名前空間 URI は、空の名前空間であると見なされます。XML に既定の名前空間が含まれている場合は、 SetContext メソッドを使用し、プリフィックスと名前空間 URI を含んでいる XmlNamespaceManager を提供して、既定の名前空間を処理する必要があります。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
XPathExpression クラス | XPathExpression メンバ | System.Xml.XPath 名前空間 | XPathExpression.AddSort オーバーロードの一覧