GetXmlNamespace (Operador) (Visual Basic)

Obtiene el objeto XNamespace que corresponde al prefijo del espacio de nombres XML especificado.

Sintaxis

GetXmlNamespace(xmlNamespacePrefix)

Partes

xmlNamespacePrefix Opcional. Cadena que identifica el prefijo del espacio de nombres XML. Si se suministra, esta cadena debe ser un identificador XML válido. Para más información, consulte Nombres de atributos y elementos XML declarados. Si no se especifica ningún prefijo, se devuelve el espacio de nombres predeterminado. Si no se especifica ningún espacio de nombres predeterminado, se devuelve el espacio de nombres vacío.

Valor devuelto

Objeto XNamespace que corresponde al prefijo del espacio de nombres XML.

Comentarios

El operador GetXmlNamespace obtiene el objeto XNamespace que corresponde al prefijo xmlNamespacePrefix del espacio de nombres XML.

Puede usar prefijos de espacio de nombres XML directamente en literales XML y propiedades de eje XML. Sin embargo, debe usar el operador GetXmlNamespace para convertir un prefijo de espacio de nombres en un objeto XNamespace antes de poder usarlo en el código. Puede anexar un nombre de elemento no completo a un objeto XNamespace para obtener un objeto XName completo, que requieren muchos métodos LINQ to XML.

Ejemplo

En el ejemplo siguiente, se importa ns como un prefijo de espacio de nombres XML. A continuación, se usa el prefijo del espacio de nombres para crear un literal XML y acceder al primer nodo secundario con el nombre completo ns:phone. Luego, ese nodo secundario se pasa a la subrutina ShowName, que construye un nombre completo mediante el uso del operador GetXmlNamespace. Después, la subrutina ShowName pasa el nombre completo al método Ancestors para obtener el nodo ns:contact primario.

' Place Imports statements at the top of your program.  
Imports <xmlns:ns="http://SomeNamespace">

Module GetXmlNamespaceSample

    Sub RunSample()

        ' Create test by using a global XML namespace prefix. 

        Dim contact = 
            <ns:contact>
                <ns:name>Patrick Hines</ns:name>
                <ns:phone ns:type="home">206-555-0144</ns:phone>
                <ns:phone ns:type="work">425-555-0145</ns:phone>
            </ns:contact>

        ShowName(contact.<ns:phone>(0))
    End Sub

    Sub ShowName(ByVal phone As XElement)
        Dim qualifiedName = GetXmlNamespace(ns) + "contact"
        Dim contact = phone.Ancestors(qualifiedName)(0)
        Console.WriteLine("Name: " & contact.<ns:name>.Value)
    End Sub

End Module

Al llamar a TestGetXmlNamespace.RunSample(), muestra un cuadro de mensaje que contiene el texto siguiente:

Name: Patrick Hines

Consulte también