XPathMessageFilter Sınıf

Tanım

XPath 1.0 ifadesi tarafından tanımlanan XML belgesinde sorguyu temsil eder.

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
Devralma
XPathMessageFilter
Uygulamalar

Açıklamalar

bir XPathMessageFilter, XML belgesinin belirli öğeler, öznitelikler, metinler veya diğer XML söz dizimli yapıları içerip içermediğini belirlemek için XPath ifadesi kullanır. Genellikle bir uygulama, bir SOAP iletisinin içeriğini sorgulamak için uç noktadaki bir XPathMessageFilter kullanır ve ardından bu sorgunun sonuçlarına göre uygun eylemi gerçekleştirir. Örneğin bir kuyruğa alma işlemi, bir iletiyi kuyruğun önüne taşıyıp taşımamaya karar vermek üzere bilinen üst bilginin öncelik öğesini denetlemek için bir XPath sorgusu kullanabilir.

XML Yol Dili (XPath), XML belgesinin bölümlerini ele almak için bir dil sağlar. XPath'teki birincil söz dizimsel yapı, XML belgesinin mantıksal yapısından geçmeyi ve bir XPath veri türünü tanımlamayı tanımlayan bir ifadedir. Özellikle, XPath uygulamaları bir ifadeyi XML belgesinin yapısına göre değerlendirerek dört temel XPath veri türünden birini verir: dizeler, sayılar, Boole'lar ve düğüm kümeleri. Ayrıca XPath veri türünü dize, sayı veya Boole veri türüne dönüştüren işlevleri de destekler. Bir yöntem bu üç veri türünden birini bekliyorsa, ifade değerlendirmesinin sonucu örtük olarak dönüştürülür. Bu üç veri türünün düğüm kümesi türüne dönüştürülemeyeceğini unutmayın. XML Yolu dili, W3C XML Yol Dili 1.0 belirtiminde tam olarak açıklanmıştır.

XPath ifadelerindeki sayılar çift duyarlıklı 64 bit değerler olarak ifade edilir. Bu nedenle, sayıların çok sayıda anlamlı basamakla test edilmesine neden olan XPath ifadeleri kayan nokta duyarlık sorunları nedeniyle yanlış sonuçlar döndürebilir. Daha fazla bilgi için bkz. XML Yol Dili (XPath) Sürüm 1.0, bölüm 3.5.

Oluşturucular

XPathMessageFilter()

XPathMessageFilter sınıfının tüm iyi biçimlendirilmiş XML belgeleriyle eşleşen yeni bir örneğini başlatır.

XPathMessageFilter(String, XmlNamespaceManager)

Belirtilen XPath ifadesini ve ad alanı yöneticisini kullanarak XPathMessageFilter sınıfının yeni bir örneğini başlatır.

XPathMessageFilter(String, XsltContext)

Belirtilen XPath ifadesini kullanarak XPathMessageFilter sınıfının yeni bir örneğini başlatır ve XsltContext.

XPathMessageFilter(String)

Filtre için sorgu ölçütlerini belirtmek üzere bir XPath ifadesi kullanarak XPathMessageFilter sınıfının yeni bir örneğini başlatır.

XPathMessageFilter(XmlReader, XmlNamespaceManager)

XPathMessageFilter sınıfının yeni bir örneğini, akışı yapılan bir XPath'te belirtilen XML okuyucuyla okuyarak ve belirtilen ad alanı yöneticisini kullanarak başlatır.

XPathMessageFilter(XmlReader, XsltContext)

XPathMessageFilter sınıfının yeni bir örneğini, belirli bir XML okuyucusu ile akışlı bir XPath okuyarak ve ad alanlarını, özel işlevleri ve değişkenleri çözümlemek için XsltContext kullanarak başlatır.

XPathMessageFilter(XmlReader)

Belirtilen XML okuyucusu ile akışa alınan bir XPath okuyarak XPathMessageFilter sınıfının yeni bir örneğini başlatır.

Özellikler

Namespaces

Filtreyi tanımlayan XPath ifadesindeki ad alanı ön eklerini çözümleyen yöneticiyi alır.

NodeQuota

Filtre değerlendirmesi sırasında bakılması gereken en fazla düğüm sayısını alır veya ayarlar.

XPath

Filtre için sorgu ölçütlerini tanımlayan XPath ifadesini alır.

Yöntemler

CreateFilterTable<FilterData>()

Kendisiyle ilişkilendirilmiş belirli bir veri türüne sahip bir XPathMessageFilterTable<TFilterData> oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
Match(Message)

Belirtilen iletinin XPath filtresinin ölçütlerini karşılayıp karşılamadığını test eder. Bu formun iletinin gövdesine erişmesine izin verilmiyor.

Match(MessageBuffer)

Arabelleğe alınan bir iletinin XPath filtresinin sorgu ölçütlerini karşılayıp karşılamadığını belirler.

Match(SeekableXPathNavigator)

Belirtilen iyileştirilmiş XPath gezgini tarafından sağlanan XML belgesinin XPath filtresinin sorgu ölçütlerini karşılayıp karşılamadığını belirler.

Match(XPathNavigator)

Filtreyi belirtilen XPath gezgini üzerinde değerlendirir.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnGetSchema()

Geçerli XML belgesinin şemasını alır.

OnReadXml(XmlReader)

Geçerli XML düğümünü okur.

OnWriteXml(XmlWriter)

writerkullanarak bir düğüm yazar.

ReadXPath(XmlReader, XmlNamespaceManager)

Belirtilen ad alanı yöneticisini kullanarak belirtilen XML okuyucudan alınan XPath ile XPathMessageFilter geçerli örneğini başlatır.

StaticGetSchema(XmlSchemaSet)

XPath filtresini seri hale getirmek için kullanılan XML şemasının türünü alır.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
TrimToSize()

Kullanılmayan tüm belleği serbest bırakan XPath filtresini sıkıştırıyor.

WriteXPath(XmlWriter, IXmlNamespaceResolver)

XPath filtresini bir XmlWriterserileştirir.

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

XML XPath öğesini belirtilen XML yazıcısıyla yazar.

Belirtik Arabirim Kullanımları

IXmlSerializable.GetSchema()

Geçerli şemayı alan açık arabirim uygulaması.

IXmlSerializable.ReadXml(XmlReader)

Geçerli XML düğümünü okuyan açık bir arabirim uygulaması.

IXmlSerializable.WriteXml(XmlWriter)

writerkullanarak XML düğümü yazan açık arabirim uygulaması.

Şunlara uygulanır