XmlNamespaceManager Classe

Definição

Resolve, adiciona e remove namespaces de uma coleção e fornece gerenciamento de escopo para esses namespaces.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 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
Herança
XmlNamespaceManager
Derivado
Implementações

Comentários

Para obter informações gerais sobre como os namespaces são declarados e usados em documentos XML, consulte Gerenciando namespaces em um documento XML.For general information about how namespaces are declared and used in XML documents, see Managing Namespaces in an XML Document.

XmlNamespaceManager armazena prefixos e namespaces como cadeias de caracteres.XmlNamespaceManager stores prefixes and namespaces as strings. Aqui está um resumo das tarefas de gerenciamento e pesquisa que você pode executar com essa classe.Here's a summary of management and lookup tasks you can perform with this class. Para saber mais e exemplos, siga os links para a página de referência para cada método ou propriedade.For more information and examples, follow the links to the reference page for each method or property.

ParaTo UsoUse
Adicionar um namespaceAdd a namespace Método AddNamespaceAddNamespace method
Remover um namespaceRemove a namespace Método RemoveNamespaceRemoveNamespace method
Localizar o URI do namespace padrãoFind the URI for the default namespace Propriedade DefaultNamespaceDefaultNamespace property
Localizar o URI para um prefixo de namespaceFind the URI for a namespace prefix Método LookupNamespaceLookupNamespace method
Localizar o prefixo para um URI de namespaceFind the prefix for a namespace URI Método LookupPrefixLookupPrefix method
Obter uma lista de namespaces do nó atualGet a list of namespaces in the current node Método GetNamespacesInScopeGetNamespacesInScope method
Definir o escopo de um namespaceScope a namespace Métodos PushScope e PopScopePushScope and PopScope methods
Verificar se um prefixo é definido no escopo atualCheck whether a prefix is defined in the current scope Método HasNamespaceHasNamespace method
Obter a tabela de nomes usada para pesquisar URIs e prefixosGet the name table used to look up prefixes and URIs Propriedade NameTableNameTable property

Para adicionar namespaces ao Gerenciador de namespace, você cria um XmlNamespaceManager objeto e, em seguida, usa o AddNamespace método.To add namespaces to the namespace manager, you create a XmlNamespaceManager object and then use the AddNamespace method. Os pares padrão do prefixo do namespace e são automaticamente adicionados para o gerenciador do namespace em design.Default prefix and namespace pairs are automatically added to the namespace manager on creation.

Ao criar o Gerenciador de namespace, você pode especificar uma tabela de nome da XmlReader XsltContext classe, ou XmlDocument e usar o AddNamespace método para adicionar os namespaces.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.

Você pode fornecer o XmlNamespaceManager objeto como um parâmetro para o SelectNodes SelectSingleNode método ou da XmlDocument classe para executar expressões de consulta XPath que fazem referência a nomes de elementos e atributos qualificados para namespace.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.

O Gerenciador de namespace pressupõe que os prefixos e namespaces já foram verificados e estão em conformidade com a especificação de namespaces W3C .The namespace manager assumes that prefixes and namespaces have already been verified and conform to the W3C Namespaces specification. O Gerenciador de namespace não executa nenhuma validação.The namespace manager does not perform any validation.

O Gerenciador de namespace atomizes as cadeias de caracteres quando elas são adicionadas usando o AddNamespace método e quando uma pesquisa é executada usando o LookupNamespace LookupPrefix método ou.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.

O gerenciador de namespace implementa o suporte da enumeração além de adicionar e recuperar namespaces.The namespace manager implements enumeration support in addition to adding and retrieving namespaces. Você pode executar um loop pelas informações salvas no Gerenciador de namespace usando a foreach construção.You can loop through the information saved in the namespace manager by using the foreach construct. Por exemplo, se você criar um Gerenciador de namespace com o nome nsmanager , poderá iterar na tabela usando foreach (String prefix in nsmanager) .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).

Porque o gerenciador de namespace fornece uma comparação de cadeia de caracteres com o prefixo e namespaces como objetos, há uma melhoria de desempenho ao usar o gerenciador de namespace sobre a comparação direta de uma cadeia de caracteres.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.

O exemplo de código a seguir mostra como associar o prefixo ao xsd URI de namespace de http://www.w3.org/2001/XMLSchema e adicioná-lo ao Gerenciador de namespace: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");  

Em seguida, você pode encontrar o namespace usando o LookupNamespace método:You can then find the namespace by using the LookupNamespace method:

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

O exemplo a seguir cria um XmlNamespaceManager usando a tabela de nome de um leitor de 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)));  
}  

Construtores

XmlNamespaceManager(XmlNameTable)

Inicializa uma nova instância da classe XmlNamespaceManager com o XmlNameTable especificado.Initializes a new instance of the XmlNamespaceManager class with the specified XmlNameTable.

Propriedades

DefaultNamespace

Obtém o URI de namespace para o namespace padrão.Gets the namespace URI for the default namespace.

NameTable

Obtém o XmlNameTable associado a este objeto.Gets the XmlNameTable associated with this object.

Métodos

AddNamespace(String, String)

Adiciona o namespace especificado à coleção.Adds the given namespace to the collection.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetEnumerator()

Retorna um enumerador a ser usado para iterar os namespaces no XmlNamespaceManager.Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetNamespacesInScope(XmlNamespaceScope)

Obtém uma coleção de nomes de namespace inseridos pelo prefixo que pode ser usada para enumerar os namespaces atualmente no escopo.Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
HasNamespace(String)

Obtém um valor que indica se o prefixo fornecido tem um namespace definido para o escopo atual que passou por push.Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope.

LookupNamespace(String)

Obtém o URI do namespace do prefixo especificado.Gets the namespace URI for the specified prefix.

LookupPrefix(String)

Encontra o prefixo declarado para o URI de namespace especificado.Finds the prefix declared for the given namespace URI.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
PopScope()

Remove um escopo de namespace mais recente da pilha.Pops a namespace scope off the stack.

PushScope()

Efetua push em um escopo de namespace para a pilha.Pushes a namespace scope onto the stack.

RemoveNamespace(String, String)

Remove o namespace especificado para o prefixo especificado.Removes the given namespace for the given prefix.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Aplica-se a