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ů 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. |