XmlNamespaceManager Osztály

Definíció

Feloldja, hozzáadja és eltávolítja a névtereket egy gyűjteményhez, és hatókörkezelést biztosít ezekhez a névterekhez.

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
Öröklődés
XmlNamespaceManager
Származtatott
Megvalósítás

Megjegyzések

A névterek XML-dokumentumokban való deklarálásáról és használatáról az XML-dokumentumokban található névterek kezelésével kapcsolatos általános információkért lásd: Névterek kezelése XML-dokumentumokban.

XmlNamespaceManager sztringekként tárolja az előtagokat és a névtereket. Az alábbiakban összefoglaljuk az osztálysal elvégezhető felügyeleti és keresési feladatokat. További információkért és példákért kövesse az egyes metódusok vagy tulajdonságok referenciaoldalára mutató hivatkozásokat.

Címzett Használd
Névtér hozzáadása AddNamespace módszer
Névtér eltávolítása RemoveNamespace módszer
Az alapértelmezett névtér URI-jának megkeresése DefaultNamespace ingatlan
Névtér-előtag URI-jának megkeresése LookupNamespace módszer
Névtér URI előtagjának megkeresése LookupPrefix módszer
Névterek listájának lekérése az aktuális csomóponton GetNamespacesInScope módszer
Névtér hatóköre PushScope és PopScope metódusok
Annak ellenőrzése, hogy az előtag definiálva van-e az aktuális hatókörben HasNamespace módszer
Előtagok és URI-k kereséséhez használt névtábla lekérése NameTable ingatlan

Ha névtereket szeretne hozzáadni a névtérkezelőhöz, hozzon létre egy XmlNamespaceManager objektumot, majd használja a metódust AddNamespace . A rendszer automatikusan hozzáadja az alapértelmezett előtagot és névtérpárokat a névtérkezelőhöz a létrehozáskor.

A névtérkezelő létrehozásakor megadhat egy névtáblát az XmlReader, vagy XsltContextXmlDocument osztályból, majd a AddNamespace metódussal hozzáadhatja a névtereket.

Az objektumot paraméterként megadhatja XmlNamespaceManager az SelectNodes osztálynak vagy SelectSingleNode metódusnak a XmlDocument névtér által minősített elemekre és attribútumnevekre hivatkozó XPath-lekérdezési kifejezések végrehajtásához.

A névtérkezelő feltételezi, hogy az előtagok és a névterek már ellenőrizve lettek, és megfelelnek a W3C-névterek specifikációjának . A névtérkezelő nem végez ellenőrzést.

A névtérkezelő atomizálja a sztringeket, amikor a AddNamespace metódussal hozzáadják őket, és amikor a keresés az vagy LookupNamespace a LookupPrefix metódus használatával történik.

A névtérkezelő a névterek hozzáadása és beolvasása mellett enumerálási támogatást is megvalósít. A névtérkezelőben mentett információk között a szerkezet használatával foreach végighaladhat. Ha például egy névtérkezelőt hoz létre a névvel nsmanager, a táblázaton keresztül is iterálhat a használatával foreach (String prefix in nsmanager).

Mivel a névtérkezelő sztring-összehasonlítást biztosít az előtaggal és a névtérrel objektumként, a névtérkezelő használata teljesítménybeli javulást eredményez a sztringek közvetlen összehasonlításánál.

Az alábbi példakód bemutatja, hogyan kötheti össze az előtagot xsd a névtér URI-jával http://www.w3.org/2001/XMLSchema , és hogyan adhatja hozzá a névtérkezelőhöz:

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

A névteret LookupNamespace ezután a következő módszerrel találja meg:

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

Az alábbi példa egy XML-olvasó névtáblájának használatával hoz létre egy XmlNamespaceManager példát:

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

Konstruktorok

Name Description
XmlNamespaceManager(XmlNameTable)

Inicializálja az osztály új példányát XmlNamespaceManager a megadott XmlNameTable.

Tulajdonságok

Name Description
DefaultNamespace

Lekéri az alapértelmezett névtér névterének URI-címét.

NameTable

Lekéri az XmlNameTable objektumhoz társított objektumot.

Metódusok

Name Description
AddNamespace(String, String)

Hozzáadja a megadott névteret a gyűjteményhez.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetEnumerator()

Egy enumerátort ad vissza, amely a névtereken keresztüli iteráláshoz használható.XmlNamespaceManager

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetNamespacesInScope(XmlNamespaceScope)

Lekéri az előtag által kulcsolt névtérnevek gyűjteményét, amely a hatókörben lévő névterek számbavételére használható.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
HasNamespace(String)

Beolvas egy értéket, amely jelzi, hogy a megadott előtag rendelkezik-e az aktuális leküldéses hatókörhöz definiált névtérrel.

LookupNamespace(String)

Lekéri a megadott előtag névtér URI-jának értékét.

LookupPrefix(String)

Megkeresi a megadott névtér URI-hoz deklarált előtagot.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
PopScope()

Kiugrik egy névtér hatóköre a veremből.

PushScope()

Leküldi a névtér hatókörét a verembe.

RemoveNamespace(String, String)

Eltávolítja az adott előtag megadott névterét.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Bővítő metódusok

Name Description
AsParallel(IEnumerable)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

Cast<TResult>(IEnumerable)

Egy elem elemeit IEnumerable a megadott típusra veti.

OfType<TResult>(IEnumerable)

Egy adott típus alapján szűri IEnumerable egy adott elem elemeit.

A következőre érvényes:

Lásd még