XmlNamespaceManager Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Ř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. |