Condividi tramite


XPathMessageFilter Classe

Definizione

Rappresenta una query su un documento XML definito da un'espressione di 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

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

XPath (XML Path Language) è 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 e di un indirizzo XML o come identificare un tipo di dati XPath. Specificamente le implementazioni XPath valutano un'espressione a fronte della struttura di un documento XML in modo da ottenere uno dei quattro tipi di dati XPath di base: stringhe, numeri, valori booleani e set di nodi. Supportano inoltre funzioni che convertono un tipo di dati XPath in un tipo stringa, numero o valore booleano. Se per un metodo è previsto uno di questi tre tipi di dati, il risultato della valutazione dell'espressione verrà convertito implicitamente. Si noti che questi tre tipi di dati non possono essere convertiti in un tipo impostato dal nodo. Il linguaggio del percorso XML è completamente descritto nella specifica W3C XML Path language 1,0.

Nelle espressioni XPath i numeri sono espressi come valori a 64 bit a precisione doppia, pertanto le espressioni XPath che comportano la verifica di numeri con molte cifre significative possono restituire risultati non corretti a causa di problemi correlati alla precisione della virgola mobile. Per ulteriori informazioni, vedere la sezione 3,5 del linguaggio XPath (XML Path Language) 1,0.

Costruttori

XPathMessageFilter()

Inizializza una nuova istanza della classe XPathMessageFilter, corrispondente a documenti XML in formato corretto.

XPathMessageFilter(String)

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

XPathMessageFilter(String, XmlNamespaceManager)

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

XPathMessageFilter(String, XsltContext)

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

XPathMessageFilter(XmlReader)

Inizializza una nuova istanza della classe XPathMessageFilter tramite la lettura di un'espressione XPath inviata come flusso con il lettore XML specificato.

XPathMessageFilter(XmlReader, XmlNamespaceManager)

Inizializza una nuova istanza della classe XPathMessageFilter leggendo all'interno di un'espressione XPath trasmessa con il lettore XML specificato e utilizzando il gestore dello spazio dei nomi indicato.

XPathMessageFilter(XmlReader, XsltContext)

Inizializza una nuova istanza della classe XPathMessageFilter tramite la lettura di un'espressione XPath inviata come flusso con il lettore XML specificato e l'utilizzo dell'oggetto XsltContext per risolvere spazi dei nomi, funzioni personalizzate e variabili.

Proprietà

Namespaces

Ottiene il gestore che risolve i prefissi degli spazi 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 oggetto XPathMessageFilterTable<TFilterData> a cui è associato un tipo di dati specificato.

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 l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Match(Message)

Verifica se un messaggio specificato soddisfa i criteri del filtro XPath. Non è consentito utilizzare questa forma per 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 dal navigatore XPath ottimizzato specificato soddisfa i criteri di query del filtro XPath.

Match(XPathNavigator)

Valuta il filtro in base al navigatore XPath specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnGetSchema()

Ottiene lo schema per il documento XML corrente.

OnReadXml(XmlReader)

Legge il nodo XML corrente.

OnWriteXml(XmlWriter)

Scrive un nodo utilizzando writer.

ReadXPath(XmlReader, XmlNamespaceManager)

Inizializza l'istanza corrente di XPathMessageFilter con un elemento XPath ottenuto da un lettore XML specificato utilizzando un gestore dello spazio dei nomi specificato.

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()

Comprime il filtro XPath che rilascia tutta la memoria inutilizzata.

WriteXPath(XmlWriter, IXmlNamespaceResolver)

Serializza il filtro XPath in un oggetto 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 utilizzando writer.

Si applica a