XPathMessageFilter クラス

定義

XPath 1.0 式によって定義された XML ドキュメントに対するクエリを表します。

public ref class XPathMessageFilter : System::ServiceModel::Dispatcher::MessageFilter, System::Xml::Serialization::IXmlSerializable
public class XPathMessageFilter : System.ServiceModel.Dispatcher.MessageFilter, System.Xml.Serialization.IXmlSerializable
type XPathMessageFilter = class
    inherit MessageFilter
    interface IXmlSerializable
Public Class XPathMessageFilter
Inherits MessageFilter
Implements IXmlSerializable
継承
XPathMessageFilter
実装

注釈

XPathMessageFilter では、XPath 式を使用して、XML ドキュメントに特定の要素、属性、テキスト、またはその他の XML 構文コンストラクトが含まれているかどうかを判断します。 通常、アプリケーションはエンドポイントで XPathMessageFilter を使用して SOAP メッセージの内容を照会し、そのクエリの結果に基づいて適切なアクションを実行します。 たとえば、キュー プロセスでは、XPath クエリを使用して既知のヘッダーの優先度要素を確認し、メッセージをキューの先頭に移動するかどうかを決定できます。

XML パス言語 (XPath) は、XML ドキュメントの一部をアドレス指定するための言語を提供します。 XPath の主な構文構造は、XML ドキュメントの論理構造を走査し、アドレスを指定する方法、または XPath データ型を識別する方法を定義する式です。 具体的には、XPath の実装では、XML ドキュメントの構造に対して式を評価して、文字列、数値、ブール値、ノード セットの 4 つの基本的な XPath データ型のいずれかを生成します。 また、XPath データ型を文字列、数値、またはブール型に変換する関数もサポートされています。 メソッドでこれら 3 つのデータ型のいずれかが必要な場合、式の評価の結果は暗黙的に変換されます。 これら 3 つのデータ型をノード セット型に変換できないことに注意してください。 XML パス言語は、W3C XML パス言語 1.0 仕様で完全に説明されています。

XPath 式の数値は、倍精度 64 ビット値として表されます。 したがって、有効桁数の多い数値をテストする XPath 式では、浮動小数点精度の問題が原因で正しくない結果が返される可能性があります。 詳細については、「XML パス言語 (XPath) バージョン 1.0、セクション 3.5を参照してください。

コンストラクター

XPathMessageFilter()

整形式のすべての XML ドキュメントに一致する XPathMessageFilter クラスの新しいインスタンスを初期化します。

XPathMessageFilter(String, XmlNamespaceManager)

指定した XPath 式と名前空間マネージャーを使用して、XPathMessageFilter クラスの新しいインスタンスを初期化します。

XPathMessageFilter(String, XsltContext)

指定した XPath 式と XsltContextを使用して、XPathMessageFilter クラスの新しいインスタンスを初期化します。

XPathMessageFilter(String)

フィルターのクエリ条件を指定する XPath 式を使用して、XPathMessageFilter クラスの新しいインスタンスを初期化します。

XPathMessageFilter(XmlReader, XmlNamespaceManager)

指定した XML リーダーを使用してストリーム配信された XPath を読み取り、指定した名前空間マネージャーを使用して、XPathMessageFilter クラスの新しいインスタンスを初期化します。

XPathMessageFilter(XmlReader, XsltContext)

指定した XML リーダーでストリーミングされた XPath を読み取り、XsltContext を使用して名前空間、カスタム関数、および変数を解決することで、XPathMessageFilter クラスの新しいインスタンスを初期化します。

XPathMessageFilter(XmlReader)

指定した XML リーダーを使用してストリーム配信された XPath を読み取って、XPathMessageFilter クラスの新しいインスタンスを初期化します。

プロパティ

Namespaces

フィルターを定義する XPath 式の名前空間プレフィックスを解決するマネージャーを取得します。

NodeQuota

フィルターの評価中に確認する必要があるノードの最大数を取得または設定します。

XPath

フィルターのクエリ条件を定義する XPath 式を取得します。

メソッド

CreateFilterTable<FilterData>()

指定した種類のデータが関連付けられた XPathMessageFilterTable<TFilterData> を作成します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Match(Message)

指定したメッセージが XPath フィルターの条件を満たしているかどうかをテストします。 このフォームは、メッセージの本文にアクセスできません。

Match(MessageBuffer)

バッファー内のメッセージが XPath フィルターのクエリ条件を満たすかどうかを判断します。

Match(SeekableXPathNavigator)

指定した最適化された XPath ナビゲーターによって提供される XML ドキュメントが、XPath フィルターのクエリ条件を満たすかどうかを判断します。

Match(XPathNavigator)

指定した XPath ナビゲーターに対してフィルターを評価します。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
OnGetSchema()

現在の XML ドキュメントのスキーマを取得します。

OnReadXml(XmlReader)

現在の XML ノードを読み取ります。

OnWriteXml(XmlWriter)

writerを使用してノードを書き込みます。

ReadXPath(XmlReader, XmlNamespaceManager)

指定した名前空間マネージャーを使用して、指定した XML リーダーから取得した XPath を使用して、XPathMessageFilter の現在のインスタンスを初期化します。

StaticGetSchema(XmlSchemaSet)

XPath フィルターのシリアル化に使用される XML スキーマの型を取得します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TrimToSize()

未使用のすべてのメモリを解放する XPath フィルターを圧縮します。

WriteXPath(XmlWriter, IXmlNamespaceResolver)

XPath フィルターを XmlWriterにシリアル化します。

WriteXPathTo(XmlWriter, String, String, String, Boolean)

指定した XML ライターを使用して XML XPath 要素を書き込みます。

明示的なインターフェイスの実装

IXmlSerializable.GetSchema()

現在のスキーマを取得する明示的なインターフェイス実装。

IXmlSerializable.ReadXml(XmlReader)

現在の XML ノードを読み取る明示的なインターフェイス実装。

IXmlSerializable.WriteXml(XmlWriter)

writerを使用して XML ノードを書き込む明示的なインターフェイス実装。

適用対象