XmlNamespaceManager Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Resuelve, agrega y quita los espacios de nombres de una colección, y proporciona administración de ámbito de 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 para cada método o propiedad.
En | Usar |
---|---|
Agregar un espacio de nombres | Método AddNamespace |
Eliminar un espacio de nombres | Método RemoveNamespace |
Encontrar 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 |
Asignar un ámbito a un espacio de nombres | Métodos PushScope y PopScope |
Comprobar si un prefijo está definido en el ámbito actual | Método HasNamespace |
Obtener la tabla de nombres usada para buscar prefijos e identificadores 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 . Al crear el administrador de espacios de nombres, se agregan automáticamente pares de prefijo y espacio de nombres predeterminados.
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 por el 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 la compatibilidad con el proceso de enumeración, además de la adición y la recuperación de 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 permite la comparación de cadenas con el prefijo y los espacios de nombres como objetos, se produce una mejora del rendimiento al utilizarlo en 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 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
XmlNamespaceManager(XmlNameTable) |
Inicializa una nueva instancia de la clase XmlNamespaceManager con el objeto XmlNameTable especificado. |
Propiedades
DefaultNamespace |
Obtiene el identificador URI de espacio de nombres del espacio de nombres predeterminado. |
NameTable |
Obtiene el objeto XmlNameTable asociado a este objeto. |
Métodos
AddNamespace(String, String) |
Agrega el espacio de nombres especificado a la colección. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetEnumerator() |
Devuelve un enumerador que se utilizará para recorrer en iteración los espacios de nombres de XmlNamespaceManager. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetNamespacesInScope(XmlNamespaceScope) |
Obtiene una colección de nombres de espacios de nombres por clave de prefijo que se puede usar para enumerar los espacios de nombres que actualmente se encuentran 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 que se ha insertado. |
LookupNamespace(String) |
Obtiene el identificador URI de espacio de nombres del prefijo especificado. |
LookupPrefix(String) |
Busca el prefijo declarado para el identificador URI de espacio de nombres especificado. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
PopScope() |
Extrae un ámbito de espacio de nombres de la pila. |
PushScope() |
Inserta un ámbito de espacio de nombres en la pila. |
RemoveNamespace(String, String) |
Quita el espacio de nombres dado del prefijo especificado. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Métodos de extensión
Cast<TResult>(IEnumerable) |
Convierte los elementos de IEnumerable en el tipo especificado. |
OfType<TResult>(IEnumerable) |
Filtra los elementos de IEnumerable en función de un tipo especificado. |
AsParallel(IEnumerable) |
Habilita la paralelización de una consulta. |
AsQueryable(IEnumerable) |
Convierte una interfaz IEnumerable en IQueryable. |