XPathMessageFilter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет запрос XML документа, определенного выражением 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
- Наследование
- Реализации
Комментарии
Фильтр сообщений XPathMessageFilter использует выражение XPath для определения, содержит ли документ XML конкретные элементы, атрибуты, текст или другие конструкции синтаксиса XML. Обычно приложение использует фильтр XPathMessageFilter в конечной точке, чтобы запросить контент сообщения SOAP, а затем предпринять соответствующее действие на основании результатов запроса. Процесс организации очереди, например, может использовать запрос XPath для проверки приоритета заданного заголовка, чтобы определить, требуется ли переместить сообщение вверх в очереди.
Язык XML Path (XPath) используется для обращения к частям документа XML. Основным составным элементом синтаксиса в XPath является выражение, определяющее правила просмотра логической структуры документа XML и обращения или идентификации типа данных XPath. В частности, реализации XPath оценивают выражение в сравнении со структурой документа XML, чтобы возвратить один из четырех базовых типа данных XPath: строки, числа, логические операторы и наборы узлов. Они также поддерживают функции, преобразующие типы данных XPath в строковые, числовые или логические типы данных. Если метод требует один из этих трех типов данных, то результат оценки выражения явно преобразуется. Обратите внимание, что эти три типа данных не могут быть преобразованы в тип набора узлов. Язык XML-пути полностью описан в спецификации W3C по языку XML-пути 1,0.
Числа в выражениях XPath выражаются в виде 64-разрядных значений с двойной точностью. Поэтому выражения XPath, включающие в себя проверку чисел с множеством значимых цифр, могут возвращать неправильные результаты из-за проблем с точностью плавающей точки. Дополнительные сведения см. в разделе язык XML-путей (XPath) версии 1,0, раздел 3,5.
Конструкторы
XPathMessageFilter() |
Инициализирует новый экземпляр класса XPathMessageFilter, который соответствует всем XML документам с правильным форматом. |
XPathMessageFilter(String) |
Инициализирует новый экземпляр класса XPathMessageFilter с использованием выражения XPath для задания критериев запроса для фильтра. |
XPathMessageFilter(String, XmlNamespaceManager) |
Инициализирует новый экземпляр класса XPathMessageFilter, используя указанное выражение XPath и диспетчер пространства имен. |
XPathMessageFilter(String, XsltContext) |
Инициализирует новый экземпляр класса XPathMessageFilter, используя указанное выражение XPath и XsltContext. |
XPathMessageFilter(XmlReader) |
Инициализирует новый экземпляр класса XPathMessageFilter путем считывания потокового XPath с указанным средством чтения XML. |
XPathMessageFilter(XmlReader, XmlNamespaceManager) |
Инициализирует новый экземпляр класса XPathMessageFilter путем считывания потокового XPath с указанным средством чтения XML и использования указанного диспетчера пространства имен. |
XPathMessageFilter(XmlReader, XsltContext) |
Инициализирует новый экземпляр класса XPathMessageFilter путем считывания потокового выражения XPath с помощью указанного средства чтения XML и средства 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 предоставленный указанным оптимизированным навигатором XPath документ XML. |
Match(XPathNavigator) |
Оценивает фильтр посредством указанного навигатора XPath. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
OnGetSchema() |
Получает схему для текущего документа XML. |
OnReadXml(XmlReader) |
Считывает текущий узел XML. |
OnWriteXml(XmlWriter) |
Записывает узел при помощи |
ReadXPath(XmlReader, XmlNamespaceManager) |
Инициализирует текущий экземпляр класса XPathMessageFilter с XPath, полученным из указанного средства чтения XML, при помощи указанного диспетчера пространства имен. |
StaticGetSchema(XmlSchemaSet) |
Получает тип схемы XML, используемый для сериализации фильтра XPath. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TrimToSize() |
Сжимает фильтр XPath, который высвобождает всю неиспользуемую память. |
WriteXPath(XmlWriter, IXmlNamespaceResolver) |
Сериализует фильтр XPath в объект XmlWriter. |
WriteXPathTo(XmlWriter, String, String, String, Boolean) |
Выполняет запись элемента XML XPath с помощью указанного модуля записи. |
Явные реализации интерфейса
IXmlSerializable.GetSchema() |
Явная реализация интерфейса, получающего текущую схему. |
IXmlSerializable.ReadXml(XmlReader) |
Явная реализация интерфейса, считывающего текущий узел XML. |
IXmlSerializable.WriteXml(XmlWriter) |
Явная реализация интерфейса, записывающего узел XML при помощи |