XmlNamespaceManager Třída

Definice

Řeší, přidává a odebírá obory názvů do kolekce a poskytuje správu oborů pro tyto obory názvů.

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
Dědičnost
XmlNamespaceManager
Odvozené
Implementuje

Poznámky

Obecné informace o tom, jak se obory názvů deklarují a používají v dokumentech XML, najdete v tématu Správa oborů názvů v dokumentu XML.

XmlNamespaceManager ukládá předpony a obory názvů jako řetězce. Tady je souhrn úloh správy a vyhledávání, které můžete s touto třídou provádět. Další informace a příklady najdete na odkazech na referenční stránku pro každou metodu nebo vlastnost.

Záměr Použití
Přidání oboru názvů Metoda AddNamespace
Odebrání oboru názvů Metoda RemoveNamespace
Vyhledání identifikátoru URI pro výchozí obor názvů DefaultNamespace Vlastnost
Vyhledání identifikátoru URI pro předponu oboru názvů Metoda LookupNamespace
Vyhledání předpony identifikátoru URI oboru názvů Metoda LookupPrefix
Získání seznamu oborů názvů v aktuálním uzlu Metoda GetNamespacesInScope
Obor názvů PushScope a PopScope metody
Kontrola, jestli je předpona definovaná v aktuálním oboru Metoda HasNamespace
Získání tabulky názvů sloužící k vyhledání předpon a identifikátorů URI NameTable Vlastnost

Pokud chcete přidat obory názvů do správce oboru názvů, vytvoříte XmlNamespaceManager objekt a pak použijete metodu AddNamespace . Výchozí dvojice předpon a oborů názvů se automaticky přidají do správce oboru názvů při vytváření.

Při vytváření správce oboru názvů můžete zadat tabulku názvů z XmlReadertřídy , nebo , XsltContextXmlDocument a pak pomocí AddNamespace metody přidat obory názvů.

Objekt můžete zadat XmlNamespaceManager jako parametr SelectNodes nebo SelectSingleNode metodu XmlDocument třídy ke spuštění výrazů dotazu XPath, které odkazují na kvalifikovaný prvek oboru názvů a názvy atributů.

Správce oborů názvů předpokládá, že předpony a obory názvů již byly ověřeny a odpovídají specifikaci oborů názvů W3C . Správce oboru názvů neprovádí žádné ověření.

Správce oboru názvů atomizuje řetězce při jejich přidání pomocí AddNamespace metody a při vyhledávání pomocí LookupNamespace metody nebo LookupPrefix metody.

Správce oborů názvů implementuje kromě přidávání a načítání oborů názvů podporu výčtu. Pomocí konstruktoru můžete procházet informace uložené ve správci foreach oboru názvů. Pokud například vytvoříte správce oboru názvů s názvem nsmanager, můžete iterovat tabulku pomocí foreach (String prefix in nsmanager)příkazu .

Vzhledem k tomu, že správce oboru názvů poskytuje porovnání řetězců s předponou a obory názvů jako objekty, dochází ke zlepšení výkonu při použití správce oboru názvů přes přímé porovnání řetězce.

Následující příklad kódu ukazuje, jak vytvořit vazbu předpony xsd s identifikátorem URI http://www.w3.org/2001/XMLSchema oboru názvů a přidat ji do správce oboru názvů:

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

Obor názvů pak můžete najít pomocí LookupNamespace metody:

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

Následující příklad vytvoří XmlNamespaceManager tabulku názvů ze čtečky XML:

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)));  
}  

Konstruktory

XmlNamespaceManager(XmlNameTable)

Inicializuje novou instanci XmlNamespaceManager třídy se zadaným XmlNameTable.

Vlastnosti

DefaultNamespace

Získá identifikátor URI oboru názvů pro výchozí obor názvů.

NameTable

Získá přidružené k tomuto objektu XmlNameTable .

Metody

AddNamespace(String, String)

Přidá daný obor názvů do kolekce.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

Vrátí enumerátor, který se má použít k iteraci mezi obory názvů v objektu XmlNamespaceManager.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetNamespacesInScope(XmlNamespaceScope)

Získá kolekci názvů názvů klíčovaných předponou, kterou lze použít k výčtu oborů názvů aktuálně v oboru.

GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
HasNamespace(String)

Získá hodnotu určující, zda zadaná předpona má obor názvů definovaný pro aktuální nabízený obor.

LookupNamespace(String)

Získá identifikátor URI oboru názvů pro zadanou předponu.

LookupPrefix(String)

Vyhledá předponu deklarovanou pro daný identifikátor URI oboru názvů.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
PopScope()

Zobrazí obor názvů mimo zásobník.

PushScope()

Nasdílí obor názvů do zásobníku.

RemoveNamespace(String, String)

Odebere daný obor názvů pro danou předponu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky zadaného IEnumerable typu.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede na IEnumerable IQueryable.

Platí pro

Viz také