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