XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager XmlNamespaceManager Class

Definizione

Risolve, aggiunge e rimuove spazi dei nomi in una raccolta e ne consente la gestione dell'ambito.Resolves, adds, and removes namespaces to a collection and provides scope management for these namespaces.

public ref class XmlNamespaceManager : System::Collections::IEnumerable, System::Xml::IXmlNamespaceResolver
public class XmlNamespaceManager : System.Collections.IEnumerable, System.Xml.IXmlNamespaceResolver
type XmlNamespaceManager = class
    interface IXmlNamespaceResolver
    interface IEnumerable
Public Class XmlNamespaceManager
Implements IEnumerable, IXmlNamespaceResolver
Ereditarietà
XmlNamespaceManagerXmlNamespaceManagerXmlNamespaceManagerXmlNamespaceManager
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.For general information about how namespaces are declared and used in XML documents, see Managing Namespaces in an XML Document.

XmlNamespaceManagerArchivia i prefissi e gli spazi dei nomi come stringhe.XmlNamespaceManager stores prefixes and namespaces as strings. Di seguito è riportato un riepilogo delle attività di gestione e ricerca che è possibile eseguire con questa classe.Here's a summary of management and lookup tasks you can perform with this class. Per altre informazioni ed esempi, seguire i collegamenti alla pagina di riferimento per ogni metodo o proprietà.For more information and examples, follow the links to the reference page for each method or property.

ATo UsaUse
Aggiungere uno spazio dei nomiAdd a namespace Metodo AddNamespaceAddNamespace method
Rimuovere uno spazio dei nomiRemove a namespace Metodo RemoveNamespaceRemoveNamespace method
Trovare l'URI per lo spazio dei nomi predefinitoFind the URI for the default namespace ProprietàDefaultNamespaceDefaultNamespace property
Trovare l'URI per un prefisso dello spazio dei nomiFind the URI for a namespace prefix Metodo LookupNamespaceLookupNamespace method
Trovare il prefisso per un URI dello spazio dei nomiFind the prefix for a namespace URI Metodo LookupPrefixLookupPrefix method
Ottenere un elenco di spazi dei nomi nel nodo correnteGet a list of namespaces in the current node Metodo GetNamespacesInScopeGetNamespacesInScope method
Creare l'ambito di uno spazio dei nomiScope a namespace Metodi PushScope e PopScopePushScope and PopScope methods
Verificare se un prefisso è definito nell'ambito correnteCheck whether a prefix is defined in the current scope Metodo HasNamespaceHasNamespace method
Ottenere la tabella dei nomi usata per ricercare i prefissi e gli URIGet the name table used to look up prefixes and URIs ProprietàNameTableNameTable property

Per aggiungere spazi dei nomi al gestore dello spazio dei nomi, XmlNamespaceManager creare un oggetto e quindi AddNamespace usare il metodo.To add namespaces to the namespace manager, you create a XmlNamespaceManager object and then use the AddNamespace method. Coppie di prefissi e spazi dei nomi predefiniti vengano aggiunte automaticamente al gestore dello spazio dei nomi al momento della creazione.Default prefix and namespace pairs are automatically added to the namespace manager on creation.

Quando si crea il gestore dello spazio dei nomi, è possibile specificare una tabella XmlReaderdei XsltContextnomi dalla XmlDocument classe, o, quindi utilizzare AddNamespace il metodo per aggiungere gli spazi dei nomi.When you create the namespace manager, you can specify a name table from the XmlReader, XsltContext, or XmlDocument class, and then use the AddNamespace method to add the namespaces.

È possibile fornire l' XmlNamespaceManager oggetto come parametro SelectNodes al metodo o SelectSingleNode della XmlDocument classe per eseguire espressioni di query XPath che fanno riferimento a nomi di elementi e attributi qualificati dallo spazio dei nomi.You can supply the XmlNamespaceManager object as a parameter to the SelectNodes or SelectSingleNode method of the XmlDocument class to execute XPath query expressions that reference namespace-qualified element and attribute names.

Il gestore dello spazio dei nomi presuppone che i prefissi e gli spazi dei nomi siano già stati verificati e siano conformi alla specifica W3C Namespaces .The namespace manager assumes that prefixes and namespaces have already been verified and conform to the W3C Namespaces specification. Il gestore dello spazio dei nomi non esegue alcuna convalida.The namespace manager does not perform any validation.

Il gestore dello spazio dei nomi atomizza le stringhe quando vengono aggiunte tramite il AddNamespace metodo e quando viene eseguita una ricerca tramite il LookupNamespace metodo o LookupPrefix .The namespace manager atomizes the strings when they are added by using the AddNamespace method and when a lookup is performed by using the LookupNamespace or LookupPrefix method.

Il gestore dello spazio dei nomi consente di implementare il supporto dell'enumerazione, oltre ad aggiungere e a recuperare gli spazi dei nomi.The namespace manager implements enumeration support in addition to adding and retrieving namespaces. È possibile scorrere in ciclo le informazioni salvate nel gestore dello spazio dei nomi foreach usando il costrutto.You can loop through the information saved in the namespace manager by using the foreach construct. Se, ad esempio, si crea un gestore dello spazio dei nsmanagernomi con il nome, è possibile scorrere la foreach (String prefix in nsmanager)tabella utilizzando.For example, if you create a namespace manager with the name nsmanager, you can iterate through the table by using foreach (String prefix in nsmanager).

Poiché il gestore dello spazio dei nomi fornisce un confronto di stringhe in cui il prefisso e gli spazi dei nomi sono trattati come oggetti, il suo utilizzo migliora le prestazioni rispetto all'utilizzo del confronto diretto di una stringa.Because the namespace manager provides a string comparison with the prefix and namespaces as objects, there is a performance improvement when using the namespace manager over the direct comparison of a string.

Nell'esempio di codice seguente viene illustrato come associare il xsd prefisso all'URI dello spazio http://www.w3.org/2001/XMLSchema dei nomi di e aggiungerlo al gestore dello spazio dei nomi:The following code example shows how to bind the prefix xsd with the namespace URI of http://www.w3.org/2001/XMLSchema and add it to the namespace manager:

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 LookupNamespace il metodo:You can then find the namespace by using the LookupNamespace method:

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

Nell'esempio seguente viene creato XmlNamespaceManager un oggetto utilizzando la tabella dei nomi da un lettore XML:The following example creates an XmlNamespaceManager by using the name table from an XML reader:

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

XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable) XmlNamespaceManager(XmlNameTable)

Inizializza una nuova istanza della classe XmlNamespaceManager con l'oggetto XmlNameTable specificato.Initializes a new instance of the XmlNamespaceManager class with the specified XmlNameTable.

Proprietà

DefaultNamespace DefaultNamespace DefaultNamespace DefaultNamespace

Ottiene l'URI dello spazio dei nomi per lo spazio dei nomi predefinito.Gets the namespace URI for the default namespace.

NameTable NameTable NameTable NameTable

Ottiene l'XmlNameTable associata all'oggetto.Gets the XmlNameTable associated with this object.

Metodi

AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String) AddNamespace(String, String)

Aggiunge alla raccolta lo spazio dei nomi specificato.Adds the given namespace to the collection.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Restituisce un enumeratore utilizzato per scorrere gli spazi dei nomi nella classe XmlNamespaceManager.Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope) GetNamespacesInScope(XmlNamespaceScope)

Ottiene una raccolta di nomi di spazi dei nomi codificati dal prefisso, utilizzabile per enumerare gli spazi dei nomi attualmente nell'ambito.Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
HasNamespace(String) HasNamespace(String) HasNamespace(String) HasNamespace(String)

Ottiene un valore che indica se il prefisso fornito dispone di uno spazio dei nomi definito per l'ambito inserito correntemente.Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope.

LookupNamespace(String) LookupNamespace(String) LookupNamespace(String) LookupNamespace(String)

Ottiene l'URI dello spazio dei nomi per il prefisso specificato.Gets the namespace URI for the specified prefix.

LookupPrefix(String) LookupPrefix(String) LookupPrefix(String) LookupPrefix(String)

Trova il prefisso dichiarato per l'URI dello spazio dei nomi specificato.Finds the prefix declared for the given namespace URI.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
PopScope() PopScope() PopScope() PopScope()

Estrae un ambito dello spazio dei nomi dallo stack.Pops a namespace scope off the stack.

PushScope() PushScope() PushScope() PushScope()

Inserisce un ambito dello spazio dei nomi nello stack.Pushes a namespace scope onto the stack.

RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String) RemoveNamespace(String, String)

Rimuove lo spazio dei nomi specificato per il prefisso specificato.Removes the given namespace for the given prefix.

ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Metodi di estensione

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Vedi anche