Sdílet prostřednictvím


XmlNamespaceManager Třída

Definice

Řeší, přidává a odebírá obory názvů do kolekce a poskytuje správu oborů názvů 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 jsou obory názvů deklarovány a používány v dokumentech XML, naleznete 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.

To Využití
Přidat obor názvů metoda AddNamespace
Odeberte obor názvů metoda RemoveNamespace
Najděte identifikátor URI pro výchozí obor názvů DefaultNamespace vlastnost
Najděte URI pro předponu oboru názvů metoda LookupNamespace
Najděte předponu pro identifikátor URI oboru názvů metoda LookupPrefix
Získej seznam oborů názvů v aktuálním uzlu metoda GetNamespacesInScope
Nastavit obor názvů metody PushScope a PopScope
Kontrola, jestli je předpona definovaná v aktuálním oboru metoda HasNamespace
Získání tabulky názvů používané k vyhledání předpon a identifikátorů URI NameTable vlastnost

Chcete-li 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 při vytváření automaticky přidají do správce oboru názvů.

Při vytváření správce oboru názvů můžete zadat tabulku názvů z XmlReader, XsltContextnebo XmlDocument třídy 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 názvy atributů a elementů kvalifikovaných pro obor názvů.

Správce oboru názvů předpokládá, že předpony a obory názvů jsou již 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 oboru názvů implementuje kromě přidávání a načítání oborů názvů také podporu výčtu. Pomocí konstruktoru foreach můžete procházet informace uložené ve správci 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)

Vzhledem k tomu, že správce oboru názvů poskytuje porovnání řetězců s předponou a obory názvů jako objekty, existuje zlepšení výkonu při použití správce oboru názvů při přímé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

Name Description
XmlNamespaceManager(XmlNameTable)

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

Vlastnosti

Name Description
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

Name Description
AddNamespace(String, String)

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

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Vrátí enumerátor, který se použije k iteraci prostřednictvím oborů 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 podle předpony, kterou lze použít k vytvoření výčtu oborů názvů aktuálně v oboru.

GetType()

Získá Type aktuální instance.

(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ří mělkou kopii aktuálního Object.

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

Vyskočí 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í

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable na základě zadaného typu.

Platí pro

Viz také