Condividi tramite


XPathMessageFilter Classe

Definizione

Rappresenta una query su un documento XML definito da un'espressione 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
Ereditarietà
XPathMessageFilter
Implementazioni

Commenti

Un XPathMessageFilter usa un'espressione XPath per determinare se un documento XML contiene elementi, attributi, testo o altri costrutti sintattici XML specifici. In genere, un'applicazione usa un XPathMessageFilter in un endpoint per eseguire una query sul contenuto di un messaggio SOAP e quindi esegue l'azione appropriata in base ai risultati di tale query. Un processo di accodamento, ad esempio, può usare una query XPath per controllare l'elemento priority di un'intestazione nota per decidere se spostare un messaggio all'inizio della coda.

Il linguaggio XPath (XML Path Language) fornisce un linguaggio per l'indirizzamento di parti di un documento XML. Il costrutto sintattico primario in XPath è un'espressione che definisce come attraversare la struttura logica di un documento XML e un indirizzo o identificare un tipo di dati XPath. In particolare, le implementazioni XPath valutano un'espressione rispetto alla struttura di un documento XML per restituire uno dei quattro tipi di dati XPath di base: stringhe, numeri, valori booleani e set di nodi. Supportano anche funzioni che convertono un tipo di dati XPath in un tipo di dati string, number o Boolean. Se un metodo prevede uno di questi tre tipi di dati, il risultato della valutazione dell'espressione viene convertito in modo implicito. Si noti che questi tre tipi di dati non possono essere convertiti in un tipo di set di nodi. Il linguaggio XML Path è descritto in modo completo nella specifica W3C XML Path Language 1.0 .

I numeri nelle espressioni XPath vengono espressi come valori a 64 bit a precisione doppia. Pertanto, le espressioni XPath che prevedono il test dei numeri con molte cifre significative possono restituire risultati non corretti a causa di problemi di precisione a virgola mobile. Per altre informazioni, vedere XPath (XML Path Language) versione 1.0, sezione 3.5.

Costruttori

XPathMessageFilter()

Inizializza una nuova istanza della classe XPathMessageFilter che corrisponde a tutti i documenti XML ben formati.

XPathMessageFilter(String, XmlNamespaceManager)

Inizializza una nuova istanza della classe XPathMessageFilter utilizzando l'espressione XPath e la gestione dello spazio dei nomi specificati.

XPathMessageFilter(String, XsltContext)

Inizializza una nuova istanza della classe XPathMessageFilter utilizzando un'espressione XPath specificata e XsltContext.

XPathMessageFilter(String)

Inizializza una nuova istanza della classe XPathMessageFilter utilizzando un'espressione XPath per specificare i criteri di query per il filtro.

XPathMessageFilter(XmlReader, XmlNamespaceManager)

Inizializza una nuova istanza della classe XPathMessageFilter leggendo in un flusso XPath con un lettore XML specificato e utilizzando la gestione dello spazio dei nomi specificata.

XPathMessageFilter(XmlReader, XsltContext)

Inizializza una nuova istanza della classe XPathMessageFilter leggendo un XPath trasmesso con un lettore XML specificato e utilizzando il XsltContext per risolvere spazi dei nomi, funzioni personalizzate e variabili.

XPathMessageFilter(XmlReader)

Inizializza una nuova istanza della classe XPathMessageFilter leggendo un oggetto XPath trasmesso con il lettore XML specificato.

Proprietà

Namespaces

Ottiene il gestore che risolve i prefissi dello spazio dei nomi nell'espressione XPath che definisce il filtro.

NodeQuota

Ottiene o imposta il numero massimo di nodi da esaminare durante la valutazione del filtro.

XPath

Ottiene l'espressione XPath che definisce i criteri di query per il filtro.

Metodi

CreateFilterTable<FilterData>()

Crea un XPathMessageFilterTable<TFilterData> a cui è associato un tipo specificato di dati.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
Match(Message)

Verifica se un messaggio specificato soddisfa i criteri del filtro XPath. Questo modulo non è autorizzato ad accedere al corpo del messaggio.

Match(MessageBuffer)

Determina se un messaggio memorizzato nel buffer soddisfa i criteri di query del filtro XPath.

Match(SeekableXPathNavigator)

Determina se il documento XML fornito dallo strumento di spostamento XPath ottimizzato specificato soddisfa i criteri di query del filtro XPath.

Match(XPathNavigator)

Valuta il filtro sullo strumento di spostamento XPath specificato.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnGetSchema()

Ottiene lo schema per il documento XML corrente.

OnReadXml(XmlReader)

Legge il nodo XML corrente.

OnWriteXml(XmlWriter)

Scrive un nodo usando writer.

ReadXPath(XmlReader, XmlNamespaceManager)

Inizializza l'istanza corrente del XPathMessageFilter con un XPath ottenuto da un lettore XML specificato utilizzando una gestione spazi dei nomi specificata.

StaticGetSchema(XmlSchemaSet)

Ottiene il tipo di XML Schema utilizzato per serializzare il filtro XPath.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TrimToSize()

Compatta il filtro XPath, che rilascia tutta la memoria inutilizzata.

WriteXPath(XmlWriter, IXmlNamespaceResolver)

Serializza il filtro XPath in un XmlWriter.

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

Scrive l'elemento XPath XML con un writer XML specificato.

Implementazioni dell'interfaccia esplicita

IXmlSerializable.GetSchema()

Implementazione esplicita dell'interfaccia che ottiene lo schema corrente.

IXmlSerializable.ReadXml(XmlReader)

Implementazione esplicita dell'interfaccia che legge il nodo XML corrente.

IXmlSerializable.WriteXml(XmlWriter)

Implementazione esplicita dell'interfaccia che scrive un nodo XML usando writer.

Si applica a