XPathMessageFilter Klasse

Definition

Stellt eine Abfrage für ein XML-Dokument dar, das durch einen XPath 1.0-Ausdruck definiert ist.

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

Ein XPathMessageFilter XPath-Ausdruck bestimmt, ob ein XML-Dokument bestimmte Elemente, Attribute, Text oder andere syntaktische XML-Konstrukte enthält. In der Regel verwendet eine Anwendung einen XPathMessageFilter Endpunkt, um den Inhalt einer SOAP-Nachricht abzufragen und dann die entsprechende Aktion basierend auf den Ergebnissen dieser Abfrage auszuführen. Ein Warteschlangenprozess kann z. B. eine XPath-Abfrage verwenden, um das Prioritätselement eines bekannten Headers zu überprüfen, um zu entscheiden, ob eine Nachricht an die Vorderseite der Warteschlange verschoben werden soll.

Die XML Path Language (XPath) stellt eine Sprache zum Adressieren von Teilen eines XML-Dokuments bereit. Das primäre syntaktische Konstrukt in XPath ist ein Ausdruck, der definiert, wie die logische Struktur eines XML-Dokuments und einer Adresse durchlaufen oder einen XPath-Datentyp identifiziert wird. Insbesondere bewerten XPath-Implementierungen einen Ausdruck anhand der Struktur eines XML-Dokuments, um einen der vier grundlegenden XPath-Datentypen zu liefern: Zeichenfolgen, Zahlen, Booleans und Knotensätze. Sie unterstützen auch Funktionen, die einen XPath-Datentyp in einen Zeichenfolgen-, Zahlen- oder booleschen Datentyp konvertieren. Wenn eine Methode einen dieser drei Datentypen erwartet, wird das Ergebnis der Ausdrucksauswertung implizit konvertiert. Beachten Sie, dass diese drei Datentypen nicht in einen Knotensatztyp konvertiert werden können. Die XML-Pfadsprache wird in der W3C XML Path Language 1.0-Spezifikation vollständig beschrieben.

Zahlen in XPath-Ausdrücken werden als 64-Bit-Werte mit doppelter Genauigkeit ausgedrückt. Daher können XPath-Ausdrücke, die das Testen von Zahlen mit vielen signifikanten Ziffern umfassen, falsche Ergebnisse aufgrund von Gleitkommagenauigkeitsproblemen zurückgeben. Weitere Informationen finden Sie unter XML Path Language (XPath) Version 1.0, Abschnitt 3.5.

Konstruktoren

Name Beschreibung
XPathMessageFilter()

Initialisiert eine neue Instanz der Klasse, die XPathMessageFilter allen wohlgeformten XML-Dokumenten entspricht.

XPathMessageFilter(String, XmlNamespaceManager)

Initialisiert eine neue Instanz der XPathMessageFilter Klasse mithilfe des angegebenen XPath-Ausdrucks- und Namespace-Managers.

XPathMessageFilter(String, XsltContext)

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

XPathMessageFilter(String)

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

XPathMessageFilter(XmlReader, XmlNamespaceManager)

Initialisiert eine neue Instanz der XPathMessageFilter Klasse durch Lesen in einem gestreamten XPath mit einem angegebenen XML-Reader und mithilfe des angegebenen Namespace-Managers.

XPathMessageFilter(XmlReader, XsltContext)

Initialisiert eine neue Instanz der XPathMessageFilter Klasse, indem ein gestreamter XPath mit einem angegebenen XML-Reader gelesen wird und die XsltContext Namespaces, benutzerdefinierte Funktionen und Variablen aufgelöst werden.

XPathMessageFilter(XmlReader)

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

Eigenschaften

Name Beschreibung
Namespaces

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

NodeQuota

Ruft die maximale Anzahl von Knoten ab, die während der Filterauswertung betrachtet werden sollen, oder legt diese fest.

XPath

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

Methoden

Name Beschreibung
CreateFilterTable<FilterData>()

Erstellt einen XPathMessageFilterTable<TFilterData> angegebenen Datentyp, der ihr zugeordnet ist.

Equals(Object)

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

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
Match(Message)

Überprüft, ob eine angegebene Nachricht die Kriterien des XPath-Filters erfüllt. Dieses Formular darf nicht auf den Textkörper der Nachricht zugreifen.

Match(MessageBuffer)

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

Match(SeekableXPathNavigator)

Bestimmt, ob das vom angegebenen optimierten XPath-Navigator bereitgestellte XML-Dokument die Abfragekriterien des XPath-Filters erfüllt.

Match(XPathNavigator)

Wertet den Filter über den angegebenen XPath-Navigator aus.

MemberwiseClone()

Erstellt eine flache Kopie der 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 mithilfe von writer.

ReadXPath(XmlReader, XmlNamespaceManager)

Initialisiert die aktuelle Instanz der XPathMessageFilter mit einem XPath abgerufenen XPath aus einem angegebenen XML-Reader mithilfe eines angegebenen Namespace-Managers.

StaticGetSchema(XmlSchemaSet)

Ruft den Typ des XML-Schemas ab, mit dem der XPath-Filter serialisiert wird.

ToString()

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

(Geerbt von Object)
TrimToSize()

Komprimiert den XPath-Filter, der alle nicht verwendeten Arbeitsspeicher freigibt.

WriteXPath(XmlWriter, IXmlNamespaceResolver)

Serialisiert den XPath-Filter in ein XmlWriter.

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

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

Explizite Schnittstellenimplementierungen

Name Beschreibung
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 einen XML-Knoten mithilfe von writer.

Gilt für: