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 spazi dei nomi in una raccolta e ne consente la gestione dell'ambito.
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à.
A | Uso |
---|---|
Aggiungere uno spazio dei nomi | Metodo AddNamespace |
Rimuovere uno spazio dei nomi | Metodo RemoveNamespace |
Trovare l'URI per lo spazio dei nomi predefinito | ProprietàDefaultNamespace |
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 |
Creare l'ambito di uno spazio dei nomi | Metodi PushScope e PopScope |
Verificare se un prefisso è definito nell'ambito corrente | Metodo HasNamespace |
Ottenere la tabella dei nomi usata per ricercare i prefissi e gli URI | ProprietàNameTable |
Per aggiungere spazi dei nomi alla gestione spazi dei nomi, creare un XmlNamespaceManager oggetto e quindi usare il AddNamespace metodo . Coppie di prefissi e spazi dei nomi predefiniti vengano aggiunte automaticamente al gestore dello spazio dei nomi al momento della creazione.
Quando si crea gestione spazi dei nomi, è possibile specificare una tabella dei nomi dalla XmlReaderclasse , XsltContexto e XmlDocument 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 ai SelectNodes nomi degli elementi e agli attributi dello 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.
Gestione spazi dei nomi atomizza le stringhe quando vengono aggiunte usando il metodo e quando viene eseguita una ricerca usando il AddNamespace LookupNamespace metodo o LookupPrefix .
Il gestore dello spazio dei nomi consente di implementare il supporto dell'enumerazione, oltre ad aggiungere e a recuperare gli spazi dei nomi. È possibile eseguire il ciclo delle informazioni salvate nella gestione spazi dei nomi usando il foreach
costrutto. Ad esempio, se si crea una gestione spazi dei nomi con il nome nsmanager
, è possibile scorrere la tabella usando 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.
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");
L'esempio seguente crea un oggetto XmlNamespaceManager usando la tabella dei nomi da 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
XmlNamespaceManager(XmlNameTable) |
Inizializza una nuova istanza della classe XmlNamespaceManager con l'oggetto XmlNameTable specificato. |
Proprietà
DefaultNamespace |
Ottiene l'URI dello spazio dei nomi per lo spazio dei nomi predefinito. |
NameTable |
Ottiene l'oggetto XmlNameTable associato a questo oggetto. |
Metodi
AddNamespace(String, String) |
Aggiunge alla raccolta lo spazio dei nomi specificato. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetEnumerator() |
Restituisce un enumeratore utilizzato per scorrere gli spazi dei nomi nella classe XmlNamespaceManager. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetNamespacesInScope(XmlNamespaceScope) |
Ottiene una raccolta di nomi di spazi dei nomi con chiave in base al prefisso, che può essere usata per enumerare gli spazi dei nomi attualmente nell'ambito. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
HasNamespace(String) |
Ottiene un valore che indica se il prefisso fornito dispone di uno spazio dei nomi definito per l'ambito inserito attualmente. |
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 dell'oggetto Object corrente. (Ereditato da Object) |
PopScope() |
Estrae 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
Cast<TResult>(IEnumerable) |
Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato. |
OfType<TResult>(IEnumerable) |
Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato. |
AsParallel(IEnumerable) |
Consente la parallelizzazione di una query. |
AsQueryable(IEnumerable) |
Converte un oggetto IEnumerable in un oggetto IQueryable. |