XPathMessageFilter Classe

Definição

Representa uma consulta em um documento XML definida por uma expressão 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
Herança
XPathMessageFilter
Implementações

Comentários

Um XPathMessageFilter usa uma expressão XPath para determinar se um documento XML contém elementos específicos, atributos, texto ou outras construções sintáticas XML. Normalmente, um aplicativo usa um XPathMessageFilter em um ponto de extremidade para consultar o conteúdo de uma mensagem SOAP e, em seguida, executa a ação apropriada com base nos resultados dessa consulta. Um processo de enfileiramento, por exemplo, pode usar uma consulta XPath para verificar o elemento Priority de um cabeçalho conhecido para decidir se deve mover uma mensagem para a frente da fila.

A linguagem de caminho XML (XPath) fornece uma linguagem para endereçar partes de um documento XML. A construção sintática primária no XPath é uma expressão que define como percorrer a estrutura lógica de um documento XML e tratar ou identificar um tipo de dados XPath. Especificamente, as implementações XPath avaliam uma expressão em relação à estrutura de um documento XML para produzir um dos quatro tipos de dados XPath básicos: cadeias de caracteres, números, Boolianos e conjuntos de nós. Eles também dão suporte a funções que convertem um tipo de dados XPath em uma cadeia de caracteres, número ou tipo de dados booliano. Se um método espera um desses três tipos de dados, o resultado da avaliação da expressão é convertido implicitamente. Observe que esses três tipos de dados não podem ser convertidos em um tipo de conjunto de nós. A linguagem de caminho XML está totalmente descrita na especificação W3C XML Path language 1,0.

Números em expressões XPath são expressos como valores de precisão dupla de 64 bits. Portanto, as expressões XPath que envolvem números de teste com muitos dígitos significativos podem retornar resultados incorretos devido a problemas de precisão de ponto flutuante. Para obter mais informações, consulte linguagem de caminho XML (XPath) versão 1,0, seção 3,5.

Construtores

XPathMessageFilter()

Inicializa uma nova instância da classe XPathMessageFilter que corresponde a todos os documentos XML bem formados.

XPathMessageFilter(String)

Inicializa uma nova instância da classe XPathMessageFilter usando a expressão XPath para especificar os critérios de consulta para o filtro.

XPathMessageFilter(String, XmlNamespaceManager)

Inicializa uma nova instância da classe XPathMessageFilter usando a expressão XPath e o gerenciador de namespace especificados.

XPathMessageFilter(String, XsltContext)

Inicializa uma nova instância da classe XPathMessageFilter usando a expressão XPath e o XsltContext especificados.

XPathMessageFilter(XmlReader)

Inicializa uma nova instância da classe XPathMessageFilter lendo um XPath transmitido com o leitor de XML especificado.

XPathMessageFilter(XmlReader, XmlNamespaceManager)

Inicializa uma nova instância da classe XPathMessageFilter lendo um XPath transmitido com um leitor de XML especificado e usando o gerenciador de namespace especificado.

XPathMessageFilter(XmlReader, XsltContext)

Inicializa uma nova instância da classe XPathMessageFilter lendo um XPath transmitido com um leitor de XML especificado e usando o XsltContext para resolver namespaces, funções personalizadas e variáveis.

Propriedades

Namespaces

Obtém o gerenciador que resolve prefixos de namespace na expressão XPath que define o filtro.

NodeQuota

Obtém ou define o número máximo de nós que devem ser pesquisados durante a avaliação do filtro.

XPath

Obtém a expressão XPath que define os critérios de consulta para o filtro.

Métodos

CreateFilterTable<FilterData>()

Cria um XPathMessageFilterTable<TFilterData> que tem um tipo especificado de dados associado a ele.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Match(Message)

Testa se uma mensagem especificada satisfaz os critérios do filtro XPath. Este formulário não tem permissão para acessar o corpo da mensagem.

Match(MessageBuffer)

Determina se uma mensagem armazenada em buffer satisfaz os critérios de consulta do filtro XPath.

Match(SeekableXPathNavigator)

Determina se o documento XML fornecido pelo navegador XPath otimizado especificado satisfaz os critérios de consulta do filtro XPath.

Match(XPathNavigator)

Avalia o filtro no navegador XPath especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnGetSchema()

Obtém o esquema para o documento XML atual.

OnReadXml(XmlReader)

Lê o nó XML atual.

OnWriteXml(XmlWriter)

Grava um nó usando writer.

ReadXPath(XmlReader, XmlNamespaceManager)

Inicializa a instância atual do XPathMessageFilter com um XPath obtido de um leitor de XML especificado usando um gerenciador de namespace especificado.

StaticGetSchema(XmlSchemaSet)

Obtém o tipo de esquema XML usado para serializar o filtro XPath.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TrimToSize()

Compacta o filtro XPath, que libera toda a memória não usada.

WriteXPath(XmlWriter, IXmlNamespaceResolver)

Serializa o filtro XPath para um XmlWriter.

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

Grava o elemento XPath XML com um gravador XML especificado.

Implantações explícitas de interface

IXmlSerializable.GetSchema()

Uma implementação explícita da interface que obtém o esquema atual.

IXmlSerializable.ReadXml(XmlReader)

Uma implementação explícita da interface que lê o nó XML atual.

IXmlSerializable.WriteXml(XmlWriter)

Uma implementação explícita da interface que grava um nó XML usando writer.

Aplica-se a