Condividi tramite


XmlNamespaceManager Classe

Definizione

Risolve, aggiunge e rimuove gli spazi dei nomi in una raccolta e fornisce la gestione dell'ambito per questi spazi dei nomi.

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
Ereditarietà
XmlNamespaceManager
Derivato
Implementazioni

Commenti

Per informazioni generali sul modo in cui gli spazi dei nomi vengono dichiarati e usati nei documenti XML, vedere Gestione degli spazi dei nomi in un documento XML.

XmlNamespaceManager archivia i prefissi e gli spazi dei nomi come stringhe. Ecco un riepilogo delle attività di gestione e ricerca che è possibile eseguire con questa classe. Per altre informazioni ed esempi, seguire i collegamenti alla pagina di riferimento per ogni metodo o proprietà.

Per Utilizzo
Aggiungere uno spazio dei nomi Metodo AddNamespace
Rimuovere un namespace Metodo RemoveNamespace
Trovare l'URI per lo spazio dei nomi predefinito DefaultNamespace proprietà
Trovare l'URI per un prefisso dello spazio dei nomi Metodo LookupNamespace
Trovare il prefisso per un URI dello spazio dei nomi Metodo LookupPrefix
Ottenere un elenco di spazi dei nomi nel nodo corrente Metodo GetNamespacesInScope
Definire l'ambito di uno spazio dei nomi metodi PushScope e PopScope
Controllare se un prefisso è definito nell'ambito corrente Metodo HasNamespace
Ottenere la tabella dei nomi usata per cercare prefissi e URI NameTable proprietà

Per aggiungere spazi dei nomi al gestore dello spazio dei nomi, creare un XmlNamespaceManager oggetto e quindi usare il AddNamespace metodo . Le coppie di prefisso e spazio dei nomi predefinite vengono aggiunte automaticamente al gestore dello spazio dei nomi durante la creazione.

Quando si crea la gestione dello spazio dei nomi, è possibile specificare una tabella dei nomi dalla XmlReaderclasse , XsltContexto XmlDocument e quindi usare il AddNamespace metodo per aggiungere gli spazi dei nomi.

È possibile fornire l'oggetto XmlNamespaceManager come parametro al metodo o SelectSingleNode della XmlDocument classe per eseguire espressioni di query XPath che fanno riferimento a SelectNodes nomi di attributi e elementi qualificati per lo spazio dei nomi.

Il gestore dello spazio dei nomi presuppone che i prefissi e gli spazi dei nomi siano già stati verificati e conformi alla specifica Spazi dei nomi W3C . Gestione spazi dei nomi non esegue alcuna convalida.

Il gestore dello spazio dei nomi atomizza le stringhe quando vengono aggiunte usando il AddNamespace metodo e quando viene eseguita una ricerca usando il LookupNamespace metodo o LookupPrefix .

Gestione spazi dei nomi implementa il supporto dell'enumerazione oltre all'aggiunta e al recupero di spazi dei nomi. È possibile scorrere in ciclo le informazioni salvate nel gestore dello spazio dei nomi usando il foreach costrutto . Ad esempio, se si crea un gestore dello spazio dei nomi con il nome nsmanager, è possibile scorrere la tabella usando foreach (String prefix in nsmanager).

Poiché la gestione dello spazio dei nomi fornisce un confronto tra stringhe con il prefisso e gli spazi dei nomi come oggetti, si verifica un miglioramento delle prestazioni quando si usa la gestione spazi dei nomi per il confronto diretto di una stringa.

Nell'esempio di codice seguente viene illustrato come associare il prefisso xsd all'URI dello spazio dei nomi di http://www.w3.org/2001/XMLSchema e aggiungerlo alla gestione spazi dei nomi:

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

È quindi possibile trovare lo spazio dei nomi usando il LookupNamespace metodo :

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

Nell'esempio seguente viene creato un XmlNamespaceManager oggetto utilizzando la tabella dei nomi di un lettore 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)));
}

Costruttori

Nome Descrizione
XmlNamespaceManager(XmlNameTable)

Inizializza una nuova istanza della XmlNamespaceManager classe con l'oggetto specificato XmlNameTable.

Proprietà

Nome Descrizione
DefaultNamespace

Ottiene l'URI dello spazio dei nomi per lo spazio dei nomi predefinito.

NameTable

Ottiene l'oggetto XmlNameTable associato a questo oggetto.

Metodi

Nome Descrizione
AddNamespace(String, String)

Aggiunge lo spazio dei nomi specificato alla raccolta.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore da utilizzare per scorrere gli spazi dei nomi in XmlNamespaceManager.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetNamespacesInScope(XmlNamespaceScope)

Ottiene una raccolta di nomi di nomi con chiave per prefisso, che può essere utilizzata per enumerare gli spazi dei nomi attualmente inclusi nell'ambito.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
HasNamespace(String)

Ottiene un valore che indica se il prefisso fornito ha uno spazio dei nomi definito per l'ambito sottoposto a push corrente.

LookupNamespace(String)

Ottiene l'URI dello spazio dei nomi per il prefisso specificato.

LookupPrefix(String)

Trova il prefisso dichiarato per l'URI dello spazio dei nomi specificato.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
PopScope()

Apre un ambito dello spazio dei nomi dallo stack.

PushScope()

Inserisce un ambito dello spazio dei nomi nello stack.

RemoveNamespace(String, String)

Rimuove lo spazio dei nomi specificato per il prefisso specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a

Vedi anche