Compartir por


XmlNamespaceManager Clase

Definición

Resuelve, agrega y quita espacios de nombres a una colección y proporciona administración de ámbitos para estos espacios de nombres.

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
Herencia
XmlNamespaceManager
Derivado
Implementaciones

Comentarios

Para obtener información general sobre cómo se declaran y usan los espacios de nombres en documentos XML, vea Administración de espacios de nombres en un documento XML.

XmlNamespaceManager almacena prefijos y espacios de nombres como cadenas. Este es un resumen de las tareas de administración y búsqueda que puede realizar con esta clase. Para obtener más información y ejemplos, siga los vínculos a la página de referencia de cada método o propiedad.

Para Uso
Agregar un espacio de nombres método AddNamespace
Eliminar un espacio de nombres método RemoveNamespace
Busque el URI del espacio de nombres predeterminado. PropiedadDefaultNamespace
Encontrar el URI de un prefijo de espacio de nombres método LookupNamespace
Encontrar el prefijo de un URI del espacio de nombres método LookupPrefix
Obtener una lista de espacios de nombres del nodo actual método GetNamespacesInScope
Definir el ámbito de un espacio de nombres métodos PushScope y PopScope
Compruebe si se define un prefijo en el ámbito actual. método HasNamespace
Obtención de la tabla de nombres usada para buscar prefijos e URI PropiedadNameTable

Para agregar espacios de nombres al administrador de espacios de nombres, cree un XmlNamespaceManager objeto y, a continuación, use el AddNamespace método . Los pares de prefijo y espacio de nombres predeterminados se agregan automáticamente al administrador de espacios de nombres al crear.

Al crear el administrador de espacios de nombres, puede especificar una tabla de nombres de la XmlReaderclase , XsltContexto XmlDocument y, a continuación, usar el AddNamespace método para agregar los espacios de nombres.

Puede proporcionar el XmlNamespaceManager objeto como parámetro al SelectNodes método o SelectSingleNode de la XmlDocument clase para ejecutar expresiones de consulta XPath que hagan referencia a nombres de atributos y elementos calificados del espacio de nombres.

El administrador de espacios de nombres supone que los prefijos y los espacios de nombres ya se han comprobado y se ajustan a la especificación de espacios de nombres W3C . El administrador de espacios de nombres no realiza ninguna validación.

El administrador de espacios de nombres atomiza las cadenas cuando se agregan mediante el AddNamespace método y cuando se realiza una búsqueda mediante el LookupNamespace método o LookupPrefix .

El administrador de espacios de nombres implementa compatibilidad con la enumeración además de agregar y recuperar espacios de nombres. Puede recorrer en bucle la información guardada en el administrador de espacios de nombres mediante la foreach construcción . Por ejemplo, si crea un administrador de espacios de nombres con el nombre nsmanager, puede recorrer en iteración la tabla mediante foreach (String prefix in nsmanager).

Dado que el administrador de espacios de nombres proporciona una comparación de cadenas con el prefijo y los espacios de nombres como objetos, hay una mejora del rendimiento al usar el administrador de espacios de nombres sobre la comparación directa de una cadena.

En el ejemplo de código siguiente se muestra cómo enlazar el prefijo xsd con el URI del espacio de nombres de http://www.w3.org/2001/XMLSchema y agregarlo al administrador de espacios de nombres:

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

A continuación, puede encontrar el espacio de nombres mediante el LookupNamespace método :

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

En el ejemplo siguiente se crea un XmlNamespaceManager mediante la tabla de nombres a partir de un lector 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)));
}

Constructores

Nombre Description
XmlNamespaceManager(XmlNameTable)

Inicializa una nueva instancia de la XmlNamespaceManager clase con el especificado XmlNameTable.

Propiedades

Nombre Description
DefaultNamespace

Obtiene el URI del espacio de nombres para el espacio de nombres predeterminado.

NameTable

Obtiene el XmlNameTable objeto asociado a este objeto.

Métodos

Nombre Description
AddNamespace(String, String)

Agrega el espacio de nombres especificado a la colección.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un enumerador que se va a usar para recorrer en iteración los espacios de nombres de XmlNamespaceManager.

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetNamespacesInScope(XmlNamespaceScope)

Obtiene una colección de nombres de espacio de nombres con clave por prefijo, que se puede usar para enumerar los espacios de nombres que se encuentran actualmente en el ámbito.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
HasNamespace(String)

Obtiene un valor que indica si el prefijo proporcionado tiene un espacio de nombres definido para el ámbito insertado actual.

LookupNamespace(String)

Obtiene el URI del espacio de nombres para el prefijo especificado.

LookupPrefix(String)

Busca el prefijo declarado para el URI de espacio de nombres especificado.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
PopScope()

Quita un ámbito de espacio de nombres fuera de la pila.

PushScope()

Inserta un ámbito de espacio de nombres en la pila.

RemoveNamespace(String, String)

Quita el espacio de nombres especificado para el prefijo especificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Métodos de extensión

Nombre Description
AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte un IEnumerable en un IQueryable.

Cast<TResult>(IEnumerable)

Convierte los elementos de un IEnumerable al tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de un IEnumerable en función de un tipo especificado.

Se aplica a

Consulte también