Aracılığıyla paylaş


XmlNamespaceManager Sınıf

Tanım

Bir koleksiyona ad alanlarını çözümler, ekler ve kaldırır ve bu ad alanları için kapsam yönetimi sağlar.

public ref class XmlNamespaceManager : System::Collections::IEnumerable, System::Xml::IXmlNamespaceResolver
public ref class XmlNamespaceManager : System::Collections::IEnumerable
public class XmlNamespaceManager : System.Collections.IEnumerable, System.Xml.IXmlNamespaceResolver
public class XmlNamespaceManager : System.Collections.IEnumerable
type XmlNamespaceManager = class
    interface IEnumerable
    interface IXmlNamespaceResolver
type XmlNamespaceManager = class
    interface IEnumerable
type XmlNamespaceManager = class
    interface IXmlNamespaceResolver
    interface IEnumerable
Public Class XmlNamespaceManager
Implements IEnumerable, IXmlNamespaceResolver
Public Class XmlNamespaceManager
Implements IEnumerable
Devralma
XmlNamespaceManager
Türetilmiş
Uygulamalar

Açıklamalar

Ad alanlarının XML belgelerinde nasıl bildirilip kullanıldığı hakkında genel bilgi için bkz. XML Belgesinde Ad Alanlarını Yönetme.

XmlNamespaceManager ön ekleri ve ad alanlarını dize olarak depolar. Bu sınıfla gerçekleştirebileceğiniz yönetim ve arama görevlerinin özeti aşağıdadır. Daha fazla bilgi ve örnek için, her yöntem veya özelliğin başvuru sayfasının bağlantılarını izleyin.

İçin Kullan
Ad alanı ekleme AddNamespace yöntemi
Ad alanını kaldırma RemoveNamespace yöntemi
Varsayılan ad alanının URI'sini bulma DefaultNamespace özellik
Ad alanı ön ekinin URI'sini bulma LookupNamespace yöntemi
Ad alanı URI'sinin ön ekini bulma LookupPrefix yöntemi
Geçerli düğümdeki ad alanlarının listesini alma GetNamespacesInScope yöntemi
Alan adının kapsamını belirle PushScope ve PopScope yöntemleri
Bir ön ekin geçerli kapsamda tanımlanıp tanımlanmadığını denetleyin HasNamespace yöntemi
Ön ekleri ve URI'leri aramak için kullanılan ad tablosunu alma NameTable özellik

Ad alanı yöneticisine ad alanları eklemek için bir XmlNamespaceManager nesne oluşturur ve yöntemini kullanırsınız AddNamespace . Varsayılan ön ek ve ad alanı çiftleri, oluşturma işleminde ad alanı yöneticisine otomatik olarak eklenir.

Ad alanı yöneticisini oluşturduğunuzda, , veya sınıfından XmlReaderbir ad tablosu belirtebilir ve ardından ad alanlarını eklemek için yöntemini kullanabilirsinizAddNamespace.XmlDocumentXsltContext

Ad alanı nitelikli öğe ve öznitelik adlarına SelectNodes başvuran XPath sorgu ifadelerini yürütmek için nesnesini sınıfının veya SelectSingleNode yöntemine XmlDocument parametre olarak sağlayabilirsinizXmlNamespaceManager.

Ad alanı yöneticisi, ön eklerin ve ad alanlarının zaten doğrulandığını ve W3C Ad Alanları belirtimine uygun olduğunu varsayar. Ad alanı yöneticisi herhangi bir doğrulama gerçekleştirmez.

Ad alanı yöneticisi, yöntemi kullanılarak eklendiğinde ve veya LookupPrefix yöntemi kullanılarak AddNamespace arama yapıldığında LookupNamespace dizeleri atomize eder.

Ad alanı yöneticisi, ad alanlarını eklemeye ve almaya ek olarak numaralandırma desteği uygular. yapısını kullanarak foreach ad alanı yöneticisine kaydedilen bilgiler arasında döngü yapabilirsiniz. Örneğin, adlı nsmanagerbir ad alanı yöneticisi oluşturursanız, kullanarak foreach (String prefix in nsmanager)tabloda yineleyebilirsiniz.

Ad alanı yöneticisi, ön ek ve ad alanlarıyla nesne olarak bir dize karşılaştırması sağladığından, ad alanı yöneticisini bir dizenin doğrudan karşılaştırması üzerinde kullanırken performans artışı olur.

Aşağıdaki kod örneği ön ekin xsd ad alanı URI'siyle http://www.w3.org/2001/XMLSchema nasıl bağlanacağını ve ad alanı yöneticisine nasıl ekleneceğini gösterir:

nsmgr.AddNamespace("xsd", "http://www.w3.org/2001/XMLSchema")
nsmgr.AddNamespace("xsd", "http://www.w3.org/2001/XMLSchema");

Ardından yöntemini kullanarak LookupNamespace ad alanını bulabilirsiniz:

nsmgr.LookupNamespace("xsd")
nsmgr.LookupNamespace("xsd");

Aşağıdaki örnek, XmlNamespaceManager bir XML okuyucusundan ad tablosunu kullanarak bir oluşturur:

Dim reader As New XmlTextReader("myfile.xml")
Dim nsmanager As New XmlNamespaceManager(reader.NameTable)
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books")
nsmanager.PushScope()
nsmanager.AddNamespace("msstore", "www.microsoft.com/store")
While reader.Read()
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix)
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",
     nsmanager.LookupPrefix(nsmanager.NameTable.Get(reader.NamespaceURI)))
End While
XmlTextReader reader = new XmlTextReader("myfile.xml");
XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books");
nsmanager.PushScope();
nsmanager.AddNamespace("msstore", "www.microsoft.com/store");
while (reader.Read())
{
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix);
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",
    nsmanager.LookupPrefix(nsmanager.NameTable.Get(reader.NamespaceURI)));
}

Oluşturucular

Name Description
XmlNamespaceManager(XmlNameTable)

belirtilen XmlNamespaceManagerile XmlNameTable sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
DefaultNamespace

Varsayılan ad alanı için ad alanı URI'sini alır.

NameTable

Bu nesneyle ilişkilendirilmiş öğesini XmlNameTable alır.

Yöntemler

Name Description
AddNamespace(String, String)

Verilen ad alanını koleksiyona ekler.

Equals(Object)

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

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

içindeki ad alanları XmlNamespaceManagerarasında yinelemek için kullanılacak bir numaralandırıcı döndürür.

GetHashCode()

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

(Devralındığı yer: Object)
GetNamespacesInScope(XmlNamespaceScope)

Şu anda kapsamdaki ad alanlarını listelemek için kullanılabilen ön eke göre anahtarlanmış ad alanı adlarından oluşan bir koleksiyon alır.

GetType()

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

(Devralındığı yer: Object)
HasNamespace(String)

Sağlanan ön ekin geçerli gönderilen kapsam için tanımlanmış bir ad alanına sahip olup olmadığını belirten bir değer alır.

LookupNamespace(String)

Belirtilen ön ek için ad alanı URI'sini alır.

LookupPrefix(String)

Verilen ad alanı URI'si için bildirilen ön eki bulur.

MemberwiseClone()

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

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

Yığından bir ad alanı kapsamı açar.

PushScope()

Bir ad alanı kapsamını yığına gönderir.

RemoveNamespace(String, String)

Belirtilen ön ek için verilen ad alanını kaldırır.

ToString()

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

(Devralındığı yer: Object)

Uzantı Metotları

Name Description
AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesine IQueryabledönüştürür.

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe yazar.

OfType<TResult>(IEnumerable)

Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler.

Şunlara uygulanır

Ayrıca bkz.