XmlNamespaceManager Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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. |