Compartir a través de


XPathMessageFilter Clase

Definición

Representa una consulta en un documento XML definida por una expresión 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
Herencia
XPathMessageFilter
Implementaciones

Comentarios

Un XPathMessageFilter utiliza una expresión XPath para determinar si un documento XML contiene elementos concretos, atributos, texto u otras construcciones sintácticas de XML. Normalmente, una aplicación usa un XPathMessageFilter en un extremo para consultar el contenido de un mensaje SOAP y, a continuación, realiza las acciones apropiadas en función de los resultados de esa consulta. Un proceso de cola, por ejemplo, puede utilizar una consulta de XPath para comprobar el elemento de prioridad de un encabezado conocido para decidir si poner un mensaje al principio de la cola.

XML Path Language (XPath) proporciona un lenguaje para direccionar partes de un documento XML. La construcción sintáctica primaria en XPath es una expresión que define cómo atravesar la estructura lógica de un documento y una dirección XML o identificar un tipo de datos de XPath. Específicamente, las implementaciones de XPath evalúan una expresión en comparación con la estructura de un documento XML para producir uno de los cuatro tipos básicos de datos de XPath: cadenas, números, booleanos y conjuntos de nodos. También admiten funciones que convierten un tipo de datos de XPath en un tipo de datos de cadena, número o booleano. Si un método espera uno de estos tres tipos de datos, el resultado de la evaluación de expresión se convierte implícitamente. Observe que estos tres tipos de datos no se pueden convertir en un tipo de conjunto de nodos. El lenguaje de rutas XML está totalmente descrito en la especificación W3C XML Path language 1,0.

Los números en las expresiones XPath se expresan como valores de 64 bits de precisión doble. Por consiguiente, las expresiones XPath que implican números de prueba con muchos dígitos significativos pueden devolver resultados incorrectos debido a los problemas de precisión de coma flotante. Para obtener más información, consulte XML Path Language (XPath) Version 1,0, sección 3,5.

Constructores

XPathMessageFilter()

Inicializa una nueva instancia de la clase XPathMessageFilter que coincide con todos los documentos XML correctos.

XPathMessageFilter(String)

Inicializa una nueva instancia de la clase XPathMessageFilter utilizando una expresión XPath para especificar los criterios de consulta para el filtro.

XPathMessageFilter(String, XmlNamespaceManager)

Inicializa una nueva instancia de la clase XPathMessageFilter utilizando el gestor especificado de expresión y espacio de nombres de XPath.

XPathMessageFilter(String, XsltContext)

Inicializa una nueva instancia de la clase XPathMessageFilter utilizando una expresión XPath especificada y XsltContext.

XPathMessageFilter(XmlReader)

Inicializa una nueva instancia de la clase XPathMessageFilter leyendo un XPath transmitido con el lector XML especificado.

XPathMessageFilter(XmlReader, XmlNamespaceManager)

Inicializa una nueva instancia de la clase XPathMessageFilter leyendo en un XPath transmitido con un lector XML especificado y utilizando el gestor de espacio de nombres especificado.

XPathMessageFilter(XmlReader, XsltContext)

Inicializa una nueva instancia de la clase XPathMessageFilter leyendo un XPath transmitido con un lector XML especificado y utilizando XsltContext para resolver espacios de nombres, funciones personalizadas y variables.

Propiedades

Namespaces

Obtiene el administrador que resuelve los prefijos de espacio de nombres en la expresión XPath que define el filtro.

NodeQuota

Obtiene o establece el número máximo de nodos que se deberían examinar durante la evaluación del filtro.

XPath

Obtiene la expresión XPath que define los criterios de búsqueda para el filtro.

Métodos

CreateFilterTable<FilterData>()

Crea un XPathMessageFilterTable<TFilterData> que tiene un tipo especificado de datos asociado a él.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Match(Message)

Prueba si un mensaje especificado satisface los criterios del filtro de XPath. Este formulario no puede tener acceso al cuerpo del mensaje.

Match(MessageBuffer)

Determina si un mensaje almacenado en búfer satisface los criterios de búsqueda del filtro de XPath.

Match(SeekableXPathNavigator)

Determina si el documento XML proporcionado por el navegador XPath optimizado especificado satisface los criterios de búsqueda del filtro de XPath.

Match(XPathNavigator)

Evalúa el filtro sobre el navegador XPath especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnGetSchema()

Obtiene el esquema del documento XML actual.

OnReadXml(XmlReader)

Lee el nodo XML actual.

OnWriteXml(XmlWriter)

Escribe un nodo mediante writer.

ReadXPath(XmlReader, XmlNamespaceManager)

Inicializa la instancia actual de XPathMessageFilter con un XPath obtenido a partir de un lector XML especificado utilizando un gestor de espacio de nombres especificado.

StaticGetSchema(XmlSchemaSet)

Obtiene el tipo de esquema XML utilizado para serializar el filtro de XPath.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TrimToSize()

Compacta el filtro de XPath, que libera toda la memoria no utilizada.

WriteXPath(XmlWriter, IXmlNamespaceResolver)

Serializa el filtro de XPath en XmlWriter.

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

Escribe el elemento XPath de XML con un sistema de escritura XML especificado.

Implementaciones de interfaz explícitas

IXmlSerializable.GetSchema()

Una implementación de interfaz explícita que obtiene el esquema actual.

IXmlSerializable.ReadXml(XmlReader)

Implementación de interfaz explícita que lee el nodo XML actual.

IXmlSerializable.WriteXml(XmlWriter)

Implementación de interfaz explícita que escribe un nodo XML mediante writer.

Se aplica a