XPathMessageFilter Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma consulta num documento XML definido 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
- Implementações
Observações
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 de prioridade de um cabeçalho conhecido e decidir se deve mover uma mensagem para o início da fila.
A Linguagem de Caminho XML (XPath) fornece uma linguagem para endereçar partes de um documento XML. O principal construto sintático no XPath é uma expressão que define como percorrer a estrutura lógica de um documento XML e endereçar ou identificar um tipo de dado XPath. Especificamente, as implementações XPath avaliam uma expressão contra a estrutura de um documento XML para obter um dos quatro tipos básicos de dados XPath: strings, números, booleanos e conjuntos de nós. Também suportam funções que convertem um tipo de dado XPath numa cadeia, número ou tipo de dado booleano. Se um método esperar um destes três tipos de dados, o resultado da avaliação de expressão é implicitamente convertido. Note que estes três tipos de dados não podem ser convertidos para um tipo de conjunto de nós. A linguagem XML Path está totalmente descrita na especificação W3C XML Path Language 1.0.
Os números nas expressões XPath são expressos como valores de dupla precisão de 64 bits. Por isso, expressões XPath que envolvem testar números com muitos dígitos significativos podem devolver resultados incorretos devido a problemas de precisão em ponto flutuante. Para mais informações, consulte XML Path Language (XPath) Versão 1.0, secção 3.5.
Construtores
| Name | Description |
|---|---|
| XPathMessageFilter() |
Inicializa uma nova instância da XPathMessageFilter classe que corresponde a todos os documentos XML bem formados. |
| XPathMessageFilter(String, XmlNamespaceManager) |
Inicializa uma nova instância da XPathMessageFilter classe usando a expressão XPath especificada e o gestor de namespace. |
| XPathMessageFilter(String, XsltContext) |
Inicializa uma nova instância da XPathMessageFilter classe usando uma expressão XPath especificada e XsltContext. |
| XPathMessageFilter(String) |
Inicializa uma nova instância da XPathMessageFilter classe usando uma expressão XPath para especificar critérios de consulta para o filtro. |
| XPathMessageFilter(XmlReader, XmlNamespaceManager) |
Inicializa uma nova instância da XPathMessageFilter classe lendo um XPath transmitido com um leitor XML especificado e usando o gestor de namespace especificado. |
| XPathMessageFilter(XmlReader, XsltContext) |
Inicializa uma nova instância da XPathMessageFilter classe lendo um XPath transmitido com um leitor XML especificado e usando para XsltContext resolver namespaces, funções personalizadas e variáveis. |
| XPathMessageFilter(XmlReader) |
Inicializa uma nova instância da XPathMessageFilter classe lendo um XPath transmitido com o leitor XML especificado. |
Propriedades
| Name | Description |
|---|---|
| Namespaces |
Recebe o gestor que resolve os prefixos do 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 analisados 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
| Name | Description |
|---|---|
| CreateFilterTable<FilterData>() |
Cria um XPathMessageFilterTable<TFilterData> que tem um tipo específico de dados associado. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (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 pode aceder ao corpo da mensagem. |
| Match(MessageBuffer) |
Determina se uma mensagem 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 sobre o navegador XPath especificado. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnGetSchema() |
Obtém o esquema do documento XML atual. |
| OnReadXml(XmlReader) |
Lê o nó XML atual. |
| OnWriteXml(XmlWriter) |
Escreve um nó usando |
| ReadXPath(XmlReader, XmlNamespaceManager) |
Inicializa a instância atual do XPathMessageFilter com um XPath obtido de um leitor XML especificado usando um gestor de namespace especificado. |
| StaticGetSchema(XmlSchemaSet) |
Obtém o tipo de esquema XML usado para serializar o filtro XPath. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| TrimToSize() |
Compacta o filtro XPath, que liberta toda a memória não utilizada. |
| WriteXPath(XmlWriter, IXmlNamespaceResolver) |
Serializa o filtro XPath para um XmlWriter. |
| WriteXPathTo(XmlWriter, String, String, String, Boolean) |
Escreve o elemento XML XPath com um escritor XML especificado. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IXmlSerializable.GetSchema() |
Uma implementação explícita de interface que recebe o esquema atual. |
| IXmlSerializable.ReadXml(XmlReader) |
Uma implementação explícita de interface que lê o nó XML atual. |
| IXmlSerializable.WriteXml(XmlWriter) |
Uma implementação explícita de interface que escreve um nó XML usando |