Teilen über


XPathMessageFilter Klasse

Definition

Stellt die Abfrage eines XML-Dokuments dar, die von einem XPath 1.0-Ausdruck definiert wird.

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
Vererbung
XPathMessageFilter
Implementiert

Hinweise

XPathMessageFilter überprüft anhand eines XPath-Ausdrucks, ob ein XML-Dokument bestimmte Elemente, Attribute, Text oder andere syntaktische XML-Konstrukte enthält. Im Allgemeinen wird der Inhalt einer SOAP-Nachricht von einer Anwendung mithilfe von XPathMessageFilter an einem Endpunkt abgefragt. Anschließend wird auf Grundlage des Abfrageergebnisses die entsprechende Aktion eingeleitet. Ein Warteschlangenprozess kann beispielsweise mithilfe einer XPath-Abfrage das Prioritätselement eines bekannten Headers im Hinblick darauf untersuchen, ob eine Nachricht in der Warteschlange an den Anfang verschoben werden soll.

Die XML Path Language (XPath) ist eine Anfragesprache zur Adressierung von Teilen eines XML-Dokuments. Das primäre syntaktische Konstrukt in XPath ist ein Ausdruck, der definiert, wie die logische Struktur eines XML-Dokuments durchlaufen wird und wie ein XPath-Datentyp adressiert bzw. identifiziert wird. XPath-Implementierungen werten einen Ausdruck anhand der Struktur eines XML-Dokuments aus, um einen der vier grundlegenden XPath-Datentypen zu erhalten (Zeichenfolge, Zahl, boolescher Wert, Knotensatz). Außerdem unterstützen sie Funktionen zur Konvertierung von XPath-Datentypen in Zeichenfolgen, Zahlen oder boolesche Werte. Wenn eine Methode einen dieser drei Datentypen erwartet, wird das Ergebnis der Ausdrucksauswertung implizit konvertiert. Beachten Sie, dass diese drei Datentypen nicht in einen Knotensatz-Typ konvertiert werden können. Die XML-Pfadsprache wird vollständig in der W3C-Spezifikation xml Path Language 1.0 beschrieben.

Zahlen in XPath-Ausdrücken werden als 64-Bit-Werte mit doppelter Genauigkeit ausgedrückt. Aus diesem Grund ist es möglich, dass XPath-Ausdrücke zur Überprüfung von Zahlen mit vielen signifikanten Ziffern aufgrund von Problemen mit der Gleitkommagenauigkeit falsche Ergebnisse ausgeben. Weitere Informationen finden Sie unter XML Path Language (XPath) Version 1.0, Abschnitt 3.5.

Konstruktoren

XPathMessageFilter()

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse, die mit allen wohlgeformten XML-Dokumenten übereinstimmt.

XPathMessageFilter(String)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse unter Verwendung eines XPath-Ausdrucks, um Abfragekriterien für den Filter anzugeben.

XPathMessageFilter(String, XmlNamespaceManager)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse mit dem angegebenen XPath-Ausdruck und dem Namespace-Manager.

XPathMessageFilter(String, XsltContext)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse mit einem angegebenen XPath-Ausdruck und XsltContext.

XPathMessageFilter(XmlReader)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse durch Lesen eines gestreamten XPath-Ausdrucks mit dem angegebenen XML-Reader.

XPathMessageFilter(XmlReader, XmlNamespaceManager)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse durch Lesen eines gestreamten XPath-Ausdrucks mit einem angegebenen XML-Reader und dem angegebenen Namespace-Manager.

XPathMessageFilter(XmlReader, XsltContext)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse durch Lesen eines gestreamten XPath-Ausdrucks mit einem angegebenen XML-Reader und XsltContext zur Auflösung von Namespaces, benutzerdefinierten Funktionen und Variablen.

Eigenschaften

Namespaces

Ruft den Manager ab, der Namespacepräfixe im XPath-Ausdruck auflöst, der den Filter definiert.

NodeQuota

Ruft die maximale Anzahl an Knoten ab (bzw. legt diese fest), die bei der Filterauswertung überprüft werden sollen.

XPath

Ruft den XPath-Ausdruck ab, der die Abfragekriterien für den Filter definiert.

Methoden

CreateFilterTable<FilterData>()

Erstellt eine XPathMessageFilterTable<TFilterData>, der ein angegebener Datentyp zugeordnet ist.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
Match(Message)

Testet, ob eine angegebene Nachricht die Kriterien des XPath-Filters erfüllt. Für dieses Formular ist der Zugriff auf den Nachrichtentext nicht zulässig.

Match(MessageBuffer)

Ermittelt, ob eine gepufferte Nachricht die Abfragekriterien des XPath-Filters erfüllt.

Match(SeekableXPathNavigator)

Ermittelt, ob das von dem angegebenen optimierten XPath-Navigator bereitgestellte XML-Dokument die Abfragekriterien des XPath-Filters erfüllt.

Match(XPathNavigator)

Wertet den Filter anhand des angegebenen XPath-Navigators aus.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnGetSchema()

Ruft das Schema für das aktuelle XML-Dokument ab.

OnReadXml(XmlReader)

Liest den aktuellen XML-Knoten.

OnWriteXml(XmlWriter)

Schreibt einen Knoten unter Verwendung von writer.

ReadXPath(XmlReader, XmlNamespaceManager)

Initialisiert die aktuelle Instanz von XPathMessageFilter mit einem XPath, der von einem angegebenen XML-Reader mit einem angegebenen Namespace-Manager abgerufen wurde.

StaticGetSchema(XmlSchemaSet)

Ruft den Typ des XML-Schemas für die Serialisierung des XPath-Filters ab.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TrimToSize()

Komprimiert den XPath-Filter, der nicht verwendeten Speicher freigibt.

WriteXPath(XmlWriter, IXmlNamespaceResolver)

Serialisiert den XPath-Filter in einen XmlWriter.

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

Schreibt das XPath-XML-Element mit einem angegebenen XML-Writer.

Explizite Schnittstellenimplementierungen

IXmlSerializable.GetSchema()

Eine explizite Schnittstellenimplementierung, die das aktuelle Schema abruft.

IXmlSerializable.ReadXml(XmlReader)

Eine explizite Schnittstellenimplementierung, die den aktuellen XML-Knoten liest.

IXmlSerializable.WriteXml(XmlWriter)

Eine explizite Schnittstellenimplementierung, die mit writer einen XML-Knoten schreibt.

Gilt für: