XPathMessageFilter Clase

Definición

Representa una consulta en un documento XML definido 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

Utiliza XPathMessageFilter una expresión XPath para determinar si un documento XML contiene elementos, atributos, texto u otras construcciones sintácticas XML. Normalmente, una aplicación usa un XPathMessageFilter en un punto de conexión para consultar el contenido de un mensaje SOAP y, a continuación, realiza la acción adecuada en función de los resultados de esa consulta. Un proceso de puesta en cola, por ejemplo, puede usar una consulta XPath para comprobar el elemento de prioridad de un encabezado conocido para decidir si se mueve un mensaje a la parte frontal de la cola.

El lenguaje de ruta de acceso XML (XPath) proporciona un lenguaje para direccionar partes de un documento XML. La construcción sintáctica principal de XPath es una expresión que define cómo recorrer la estructura lógica de un documento XML y una dirección o identificar un tipo de datos XPath. En concreto, las implementaciones de XPath evalúan una expresión con respecto a la estructura de un documento XML para producir uno de los cuatro tipos de datos XPath básicos: cadenas, números, booleanos y conjuntos de nodos. También admiten funciones que convierten un tipo de datos XPath en una cadena, un número o un tipo de datos booleano. Si un método espera uno de estos tres tipos de datos, el resultado de la evaluación de expresiones se convierte implícitamente. Tenga en cuenta que estos tres tipos de datos no se pueden convertir en un tipo de conjunto de nodos. El lenguaje de ruta de acceso XML se describe completamente en la especificación W3C XML Path Language 1.0.

Los números de las expresiones XPath se expresan como valores de doble precisión de 64 bits. Por lo tanto, las expresiones XPath que implican probar números con muchos dígitos significativos pueden devolver resultados incorrectos debido a problemas de precisión de punto flotante. Para obtener más información, vea Lenguaje de ruta de acceso XML (XPath) versión 1.0, sección 3.5.

Constructores

Nombre Description
XPathMessageFilter()

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

XPathMessageFilter(String, XmlNamespaceManager)

Inicializa una nueva instancia de la XPathMessageFilter clase mediante la expresión XPath y el administrador de espacios de nombres especificados.

XPathMessageFilter(String, XsltContext)

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

XPathMessageFilter(String)

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

XPathMessageFilter(XmlReader, XmlNamespaceManager)

Inicializa una nueva instancia de la XPathMessageFilter clase leyendo en un XPath transmitido con un lector XML especificado y usando el administrador de espacios de nombres especificado.

XPathMessageFilter(XmlReader, XsltContext)

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

XPathMessageFilter(XmlReader)

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

Propiedades

Nombre Description
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 deben examinar durante la evaluación del filtro.

XPath

Obtiene la expresión XPath que define los criterios de consulta para el filtro.

Métodos

Nombre Description
CreateFilterTable<FilterData>()

Crea un objeto XPathMessageFilterTable<TFilterData> que tiene un tipo de datos especificado asociado.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Match(Message)

Comprueba si un mensaje especificado cumple los criterios del filtro 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 consulta del filtro XPath.

Match(SeekableXPathNavigator)

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

Match(XPathNavigator)

Evalúa el filtro sobre el navegador XPath especificado.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(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 de un lector XML especificado mediante un administrador de espacios de nombres especificado.

StaticGetSchema(XmlSchemaSet)

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

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TrimToSize()

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

WriteXPath(XmlWriter, IXmlNamespaceResolver)

Serializa el filtro XPath en un XmlWriter.

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

Escribe el elemento XPath XML con un escritor XML especificado.

Implementaciones de interfaz explícitas

Nombre Description
IXmlSerializable.GetSchema()

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