Partager via


XPathMessageFilter Classe

Définition

Représente une requête sur un document XML défini par une expression XPath 1.0.

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
Héritage
XPathMessageFilter
Implémente

Remarques

Un XPathMessageFilter utilise une expression XPath pour déterminer si un document XML contient des éléments, des attributs, du texte ou d'autre constructions syntaxiques XML spécifiques. En général, une application utilise un XPathMessageFilter à un point de terminaison pour interroger le contenu d'un message SOAP puis prend la mesure appropriée en fonction des résultats de cette requête. Par exemple, un processus de mise en file d’attente peut utiliser une requête XPath pour vérifier l’élément de priorité d’un en-tête connu afin de décider s’il faut déplacer un message en haut de la file d’attente.

XML Path Language (XPath) fournit un langage pour adresser des parties d'un document XML. La construction syntaxique primaire dans XPath est une expression qui définit comment parcourir la structure logique d'un document XML et adresser ou identifier un type de données XPath. Spécifiquement, les implémentations de XPath évaluent une expression par rapport à la structure d’un document XML pour générer l’un des quatre types de données XPath de base : chaînes, nombres, Booléen et jeux de nœuds. Elles prennent également en charge des fonctions qui convertissent un type de données XPath en une chaîne, un nombre ou un type de données Booléen. Si une méthode attend l'un de ces trois types de données, le résultat de l'évaluation d'une expression est converti implicitement. Notez que ces trois types de données ne peuvent pas être convertis en un type défini par nœud. Le langage XML Path est entièrement décrit dans la spécification W3C XML Path language 1,0.

Les nombres dans les expressions XPath sont exprimés sous forme de valeurs 64 bits en double précision. Par conséquent, les expressions XPath qui impliquent des tests sur des nombres comportant de nombreux bits significatifs peuvent retourner des résultats incorrects en raison de problèmes de précision en virgule flottante. Pour plus d’informations, consultez XML Path Language (XPath) Version 1,0, section 3,5.

Constructeurs

XPathMessageFilter()

Initialise une nouvelle instance de la classe XPathMessageFilter qui correspond à tous les documents XML bien formés.

XPathMessageFilter(String)

Initialise une nouvelle instance de la classe XPathMessageFilter à l'aide d'une expression XPath pour spécifier les critères de requête du filtre.

XPathMessageFilter(String, XmlNamespaceManager)

Initialise une nouvelle instance de la classe XPathMessageFilter à l'aide de l'expression XPath et du gestionnaire d'espaces de noms spécifié.

XPathMessageFilter(String, XsltContext)

Initialise une nouvelle instance de la classe XPathMessageFilter à l'aide d'une expression XPath spécifiée et de XsltContext.

XPathMessageFilter(XmlReader)

Initialise une nouvelle instance de la classe XPathMessageFilter en lisant dans un XPath transmis en continu à l’aide du lecteur XML spécifié.

XPathMessageFilter(XmlReader, XmlNamespaceManager)

Initialise une nouvelle instance de la classe XPathMessageFilter en lisant un XPath transmis en continu avec un lecteur XML spécifié et à l’aide du gestionnaire d’espace de noms spécifié.

XPathMessageFilter(XmlReader, XsltContext)

Initialise une nouvelle instance de la classe XPathMessageFilter en lisant un XPath transmis en continu à l’aide d’un lecteur XML spécifié et en faisant appel à XsltContext pour résoudre des espaces de noms, des fonctions personnalisées et des variables.

Propriétés

Namespaces

Obtient le gestionnaire qui résout les préfixes d’espace de noms dans l’expression XPath qui définit le filtre.

NodeQuota

Obtient ou définit le nombre maximal de nœuds qui doivent être examinés pendant l'évaluation de filtre.

XPath

Obtient l’expression XPath qui définit les critères de requête pour le filtre.

Méthodes

CreateFilterTable<FilterData>()

Crée un XPathMessageFilterTable<TFilterData> auquel un type de données spécifié est associé.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
Match(Message)

Teste si un message spécifié satisfait aux critères du filtre XPath. Ce formulaire n'est pas autorisé à accéder au corps du message.

Match(MessageBuffer)

Détermine si un message mis en mémoire tampon satisfait aux critères de requête du filtre XPath.

Match(SeekableXPathNavigator)

Détermine si le document XML fourni par le navigateur XPath optimisé spécifié satisfait aux critères de requête du filtre XPath.

Match(XPathNavigator)

Évalue le filtre sur le navigateur XPath spécifié.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnGetSchema()

Obtient le schéma pour le document XML actuel.

OnReadXml(XmlReader)

Lit le nœud XML actif.

OnWriteXml(XmlWriter)

Écrit un nœud à l'aide de writer.

ReadXPath(XmlReader, XmlNamespaceManager)

Initialise l'instance actuelle du XPathMessageFilter avec un XPath obtenu d'un lecteur XML indiqué à l'aide d'un gestionnaire d'espace de noms spécifié.

StaticGetSchema(XmlSchemaSet)

Obtient le type de schéma XML utilisé pour sérialiser le filtre XPath.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TrimToSize()

Condense le filtre XPath, qui libère toute la mémoire inutilisée.

WriteXPath(XmlWriter, IXmlNamespaceResolver)

Sérialise le filtre de XPath sur XmlWriter.

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

Écrit l'élément XML XPath avec un enregistreur XML spécifié.

Implémentations d’interfaces explicites

IXmlSerializable.GetSchema()

Implémentation d'interface explicite qui obtient le schéma actuel.

IXmlSerializable.ReadXml(XmlReader)

Implémentation d'interface explicite qui lit le nœud XML actuel.

IXmlSerializable.WriteXml(XmlWriter)

Implémentation d'interface explicite qui écrit un nœud XML à l'aide de writer.

S’applique à