XPathMessageFilter 类

定义

表示对由 XPath 1.0 表达式定义的 XML 文档的查询。

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
继承
XPathMessageFilter
实现

注解

XPathMessageFilter 使用 XPath 表达式来确定 XML 文档是否包含特定元素、属性、文本或其他 XML 语法构造。 通常,应用程序在终结点使用 XPathMessageFilter 来查询 SOAP 消息的内容,然后基于该查询的结果采取适当的操作。 例如,排队过程可以使用 XPath 查询来检查已知标头的优先级元素,以决定是否将消息移动到队列的靠前位置。

XML Path 语言 (XPath) 提供一种可用于寻找 XML 文档部件的语言。 XPath 中的主要语法构件是表达式,此表达式可定义如何遍历 XML 文档的逻辑结构以及如何寻找或标识 XPath 数据类型。 具体地说,XPath 实现评估针对 XML 文档结构地表达式,生成四种基本的 XPath 数据类型之一:字符串、数字、布尔值和节点集合。 XPath 实现还支持将 XPath 数据类型转换为字符串、数字、或布尔数据类型的功能。 如果某一方法要求这三个数据类型之一,则表达式评估的结果会被隐式转换。 注意:这三个数据类型不能转换为节点集类型。 XML 路径语言在 W3C Xml 路径语言1.0 规范中进行了全面说明。

XPath 表达式中的数字以双精度 64 位值表示。 因此,含有涉及很多重要数字的测试号码的 XPath 表达式可能由于浮点精度问题,而返回不正确的结果。 有关详细信息,请参阅 XML Path Language (XPath) 版本1.0,第3.5 节

构造函数

XPathMessageFilter()

初始化与所有格式良好的 XML 文档相匹配的 XPathMessageFilter 类的新实例。

XPathMessageFilter(String)

使用 XPath 表达式初始化 XPathMessageFilter 类的一个新实例以指定筛选器的查询条件。

XPathMessageFilter(String, XmlNamespaceManager)

使用指定的 XPath 表达式和命名空间管理器初始化 XPathMessageFilter 类的一个新实例。

XPathMessageFilter(String, XsltContext)

使用指定的 XPath 表达式和 XPathMessageFilter 初始化 XsltContext 类的一个新实例。

XPathMessageFilter(XmlReader)

通过使用指定的 XML 读取器读取流式 XPath 来初始化 XPathMessageFilter 类的一个新实例。

XPathMessageFilter(XmlReader, XmlNamespaceManager)

通过使用指定的 XML 读取器读取流式 XPath 以及使用指定的命名空间管理器来初始化 XPathMessageFilter 类的一个新实例。

XPathMessageFilter(XmlReader, XsltContext)

通过使用指定的 XML 读取器读取流式 XPath 以及使用 XPathMessageFilter 解析命名空间、自定义函数和变量来初始化 XsltContext 类的一个新实例。

属性

Namespaces

获取可解析用于定义筛选器的 XPath 表达式中的命名空间前缀的管理器。

NodeQuota

获取或设置筛选器评估期间应查看的最大节点数。

XPath

获取可定义筛选器的查询条件的 XPath 表达式。

方法

CreateFilterTable<FilterData>()

创建具有与其关联的指定类型的数据的 XPathMessageFilterTable<TFilterData>

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Match(Message)

测试指定的消息是否满足 XPath 筛选器的标准。 此格式不允许访问消息的正文。

Match(MessageBuffer)

确定缓冲消息是否满足 XPath 筛选器的查询条件。

Match(SeekableXPathNavigator)

确定由指定的优化 XPath 导航器提供的 XML 文档是否满足 XPath 筛选器的查询条件。

Match(XPathNavigator)

通过指定的 XPath 导航器评估筛选器。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnGetSchema()

获取当前 XML 文档的架构。

OnReadXml(XmlReader)

读取当前 XML 节点。

OnWriteXml(XmlWriter)

使用 writer 编写节点。

ReadXPath(XmlReader, XmlNamespaceManager)

通过使用指定的命名空间管理器从指定的 XML 读取器获得的 XPath 来初始化 XPathMessageFilter 的当前实例。

StaticGetSchema(XmlSchemaSet)

获取用于序列化 XPath 筛选器的 XML 架构的类型。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
TrimToSize()

压缩 XPath 筛选器,释放所有未使用的内存。

WriteXPath(XmlWriter, IXmlNamespaceResolver)

将 XPath 筛选器序列化到 XmlWriter

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

使用指定的 XML 编写器编写 XML XPath 元素。

显式接口实现

IXmlSerializable.GetSchema()

获取当前架构的显式接口实现。

IXmlSerializable.ReadXml(XmlReader)

读取当前 XML 节点的显式接口实现。

IXmlSerializable.WriteXml(XmlWriter)

使用 writer 编写 XML 节点的显式接口实现。

适用于