XPathMessageFilter XPathMessageFilter XPathMessageFilter XPathMessageFilter Class

Definition

Stellt die Abfrage eines XML-Dokuments dar, die von einem XPath 1.0-Ausdruck definiert wird.Represents a query on an XML document defined by an XPath 1.0 expression.

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
XPathMessageFilterXPathMessageFilterXPathMessageFilterXPathMessageFilter
Implementiert

Hinweise

XPathMessageFilter überprüft anhand eines XPath-Ausdrucks, ob ein XML-Dokument bestimmte Elemente, Attribute, Text oder andere syntaktische XML-Konstrukte enthält.An XPathMessageFilter uses an XPath expression to determine whether an XML document contains specific elements, attributes, text, or other XML syntactic constructs. 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.Typically, an application uses an XPathMessageFilter at an endpoint to query the contents of a SOAP message and then takes the appropriate action based on the results of that query. 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.A queuing process, for example, may use an XPath query to check the priority element of a known header to decide whether to move a message to the front of the queue.

Die XML Path Language (XPath) ist eine Anfragesprache zur Adressierung von Teilen eines XML-Dokuments.The XML Path Language (XPath) provides a language for addressing parts of an XML document. 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.The primary syntactic construct in XPath is an expression that defines how to traverse the logical structure of an XML document and address or identify an XPath data type. 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).Specifically, XPath implementations evaluate an expression against the structure of an XML document to yield one of the four basic XPath data types: strings, numbers, Booleans, and node sets. Außerdem unterstützen sie Funktionen zur Konvertierung von XPath-Datentypen in Zeichenfolgen, Zahlen oder boolesche Werte.They also support functions that convert an XPath data type to a string, number, or Boolean data type. Wenn eine Methode einen dieser drei Datentypen erwartet, wird das Ergebnis der Ausdrucksauswertung implizit konvertiert.If a method expects one of these three data types, the result of the expression evaluation is implicitly converted. Beachten Sie, dass diese drei Datentypen nicht in einen Knotensatz-Typ konvertiert werden können.Note that these three data types cannot be converted to a node-set type. Die XML Path Language wird ausführlich erläutert, in der W3C XML Path Language 1.0-Spezifikation.The XML Path language is fully described in the W3C XML Path Language 1.0 specification.

Zahlen in XPath-Ausdrücken werden als 64-Bit-Werte mit doppelter Genauigkeit ausgedrückt.Numbers in XPath expressions are expressed as double-precision 64-bit values. 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.Therefore XPath expressions that involve testing numbers with many significant digits can return incorrect results due to floating point precision issues. Weitere Informationen finden Sie unter XML Path Language (XPath) Version 1.0, Abschnitt 3.5.For more information, see XML Path Language (XPath) Version 1.0, section 3.5.

Konstruktoren

XPathMessageFilter() XPathMessageFilter() XPathMessageFilter() XPathMessageFilter()

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse, die mit allen wohlgeformten XML-Dokumenten übereinstimmt.Initializes a new instance of the XPathMessageFilter class that matches all well-formed XML documents.

XPathMessageFilter(String) XPathMessageFilter(String) XPathMessageFilter(String) XPathMessageFilter(String)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse unter Verwendung eines XPath-Ausdrucks, um Abfragekriterien für den Filter anzugeben.Initializes a new instance of the XPathMessageFilter class using an XPath expression to specify query criteria for the filter.

XPathMessageFilter(String, XmlNamespaceManager) XPathMessageFilter(String, XmlNamespaceManager) XPathMessageFilter(String, XmlNamespaceManager) XPathMessageFilter(String, XmlNamespaceManager)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse mit dem angegebenen XPath-Ausdruck und dem Namespace-Manager.Initializes a new instance of the XPathMessageFilter class using the specified XPath expression and namespace manager.

XPathMessageFilter(String, XsltContext) XPathMessageFilter(String, XsltContext) XPathMessageFilter(String, XsltContext) XPathMessageFilter(String, XsltContext)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse mit einem angegebenen XPath-Ausdruck und XsltContext.Initializes a new instance of the XPathMessageFilter class using a specified XPath expression and XsltContext.

XPathMessageFilter(XmlReader) XPathMessageFilter(XmlReader) XPathMessageFilter(XmlReader) XPathMessageFilter(XmlReader)

Initialisiert eine neue Instanz der XPathMessageFilter-Klasse durch Lesen eines gestreamten XPath-Ausdrucks mit dem angegebenen XML-Reader.Initializes a new instance of the XPathMessageFilter class by reading a streamed XPath with the specified XML reader.

XPathMessageFilter(XmlReader, XmlNamespaceManager) XPathMessageFilter(XmlReader, XmlNamespaceManager) XPathMessageFilter(XmlReader, XmlNamespaceManager) 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.Initializes a new instance of the XPathMessageFilter class by reading in a streamed XPath with a specified XML reader and using the specified namespace manager.

XPathMessageFilter(XmlReader, XsltContext) XPathMessageFilter(XmlReader, XsltContext) XPathMessageFilter(XmlReader, XsltContext) 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.Initializes a new instance of the XPathMessageFilter class by reading a streamed XPath with a specified XML reader and using the XsltContext to resolve namespaces, custom functions, and variables.

Eigenschaften

Namespaces Namespaces Namespaces Namespaces

Ruft den Manager ab, der Namespacepräfixe im XPath-Ausdruck auflöst, der den Filter definiert.Gets the manager that resolves namespace prefixes in the XPath expression that defines the filter.

NodeQuota NodeQuota NodeQuota NodeQuota

Ruft die maximale Anzahl an Knoten ab (bzw. legt diese fest), die bei der Filterauswertung überprüft werden sollen.Gets or sets the maximum number of nodes that should be looked at during filter evaluation.

XPath XPath XPath XPath

Ruft den XPath-Ausdruck ab, der die Abfragekriterien für den Filter definiert.Gets the XPath expression that defines the query criteria for the filter.

Methoden

CreateFilterTable<FilterData>() CreateFilterTable<FilterData>() CreateFilterTable<FilterData>() CreateFilterTable<FilterData>()

Erstellt eine XPathMessageFilterTable<TFilterData>, der ein angegebener Datentyp zugeordnet ist.Creates an XPathMessageFilterTable<TFilterData> that has a specified type of data associated with it.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
Match(Message) Match(Message) Match(Message) Match(Message)

Testet, ob eine angegebene Nachricht die Kriterien des XPath-Filters erfüllt.Tests whether a specified message satisfies the criteria of the XPath filter. Für dieses Formular ist der Zugriff auf den Nachrichtentext nicht zulässig.This form is not allowed to access the body of the message.

Match(MessageBuffer) Match(MessageBuffer) Match(MessageBuffer) Match(MessageBuffer)

Ermittelt, ob eine gepufferte Nachricht die Abfragekriterien des XPath-Filters erfüllt.Determines whether a buffered message satisfies the query criteria of the XPath filter.

Match(SeekableXPathNavigator) Match(SeekableXPathNavigator) Match(SeekableXPathNavigator) Match(SeekableXPathNavigator)

Ermittelt, ob das von dem angegebenen optimierten XPath-Navigator bereitgestellte XML-Dokument die Abfragekriterien des XPath-Filters erfüllt.Determines whether the XML document provided by the specified optimized XPath navigator satisfies the query criteria of the XPath filter.

Match(XPathNavigator) Match(XPathNavigator) Match(XPathNavigator) Match(XPathNavigator)

Wertet den Filter anhand des angegebenen XPath-Navigators aus.Evaluates the filter over the specified XPath navigator.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnGetSchema() OnGetSchema() OnGetSchema() OnGetSchema()

Ruft das Schema für das aktuelle XML-Dokument ab.Gets the schema for the current XML document.

OnReadXml(XmlReader) OnReadXml(XmlReader) OnReadXml(XmlReader) OnReadXml(XmlReader)

Liest den aktuellen XML-Knoten.Reads the current XML node.

OnWriteXml(XmlWriter) OnWriteXml(XmlWriter) OnWriteXml(XmlWriter) OnWriteXml(XmlWriter)

Schreibt einen Knoten unter Verwendung von writer.Writes a node using writer.

ReadXPath(XmlReader, XmlNamespaceManager) ReadXPath(XmlReader, XmlNamespaceManager) ReadXPath(XmlReader, XmlNamespaceManager) 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.Initializes the current instance of the XPathMessageFilter with an XPath obtained from a specified XML reader using a specified namespace manager.

StaticGetSchema(XmlSchemaSet) StaticGetSchema(XmlSchemaSet) StaticGetSchema(XmlSchemaSet) StaticGetSchema(XmlSchemaSet)

Ruft den Typ des XML-Schemas für die Serialisierung des XPath-Filters ab.Gets the type of XML schema used to serialize the XPath filter.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
TrimToSize() TrimToSize() TrimToSize() TrimToSize()

Komprimiert den XPath-Filter, der nicht verwendeten Speicher freigibt.Compacts the XPath filter, which releases all unused memory.

WriteXPath(XmlWriter, IXmlNamespaceResolver) WriteXPath(XmlWriter, IXmlNamespaceResolver) WriteXPath(XmlWriter, IXmlNamespaceResolver) WriteXPath(XmlWriter, IXmlNamespaceResolver)

Serialisiert den XPath-Filter in einen XmlWriter.Serializes the XPath filter to an XmlWriter.

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

Schreibt das XPath-XML-Element mit einem angegebenen XML-Writer.Writes the XML XPath element with a specified XML writer.

Explizite Schnittstellenimplementierungen

IXmlSerializable.GetSchema() IXmlSerializable.GetSchema() IXmlSerializable.GetSchema() IXmlSerializable.GetSchema()

Eine explizite Schnittstellenimplementierung, die das aktuelle Schema abruft.An explicit interface implementation that gets the current schema.

IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader)

Eine explizite Schnittstellenimplementierung, die den aktuellen XML-Knoten liest.An explicit interface implementation that reads the current XML node.

IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter)

Eine explizite Schnittstellenimplementierung, die mit writer einen XML-Knoten schreibt.An explicit interface implementation that writes an XML node using writer.

Gilt für: