XmlNamespaceManager Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |