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)

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

XPathMessageFilter(String, XmlNamespaceManager)

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

XPathMessageFilter(String, XsltContext)

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

XPathMessageFilter(XmlReader)

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

XPathMessageFilter(XmlReader, XmlNamespaceManager)

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

XPathMessageFilter(XmlReader, XsltContext)

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

プロパティ

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 ノードを書き込む明示的なインターフェイスの実装。

適用対象