Compartir a través de


Información general sobre los espacios de nombres (LINQ to XML)

En este artículo se presentan nombres XML, espacios de nombres XML, prefijos de XML y las clases XName y XNamespace.

Los nombres XML suelen ser una fuente de complejidad en la programación XML. Un nombre XML consta de un espacio de nombres XML (también denominado URI de espacio de nombres XML) y un nombre local. Un espacio de nombres XML es similar a un espacio de nombres en un programa .NET. Permite calificar de forma única los nombres de elementos y atributos para evitar conflictos de nombres entre varias partes de un documento XML. Cuando haya declarado un espacio de nombres XML, puede seleccionar un nombre local que solo tenga que ser único dentro de ese espacio de nombres.

Otro aspecto de los nombres XML son los prefijos de espacios de nombres XML, que están detrás de casi toda la complejidad de los nombres XML. Estos prefijos permiten crear un acceso directo para un espacio de nombres XML, lo que hace que el documento XML sea más conciso y comprensible. Sin embargo, el significado de un prefijo XML depende del contexto, lo que agrega complejidad. Por ejemplo, el prefijo aw XML podría asociarse con un espacio de nombres XML en parte de un árbol XML y con un espacio de nombres diferente en otra parte.

Una de las ventajas de usar LINQ to XML con C# es que no es necesario usar prefijos XML. Cuando LINQ to XML carga o analiza un documento XML, cada prefijo XML se resuelve en su espacio de nombres XML correspondiente. Después, cuando se trabaja con un documento que usa espacios de nombres, casi siempre se accede a los espacios de nombres a través del URI del espacio de nombres y no a través del prefijo del espacio de nombres. Cuando los desarrolladores trabajan con nombres XML en LINQ to XML, siempre trabajan con un nombre XML plenamente calificado (es decir, un espacio de nombres XML y un nombre local). Sin embargo, LINQ to XML permite trabajar con prefijos de espacio de nombres y controlarlos según sea necesario.

Si usa LINQ to XML con literales XML y Visual Basic, debe usar los prefijos de los espacios de nombres al trabajar con documentos en espacios de nombres.

En LINQ to XML, la clase que representa los nombres XML es XName. Los nombres XML aparecen con frecuencia en la API LINQ to XML y dondequiera que se requiera un nombre XML, encontrará un XName parámetro. En cambio, apenas se trabaja directamente con un objeto XName. XName contiene una conversión implícita desde una cadena.

Para obtener más información, vea XNamespace y XName.