Share via


Propiedades de eje secundario XML (Visual Basic)

Proporciona el acceso a los elementos secundarios de uno de los siguientes: un objeto XElement, un objeto XDocument, una colección de objetos XElement o una colección de objetos XDocument.

Sintaxis

object.<child>

Partes

Término Definición
object Obligatorio. Un objeto XElement, un objeto XDocument, una colección de objetos XElement o una colección de objetos XDocument.
.< Necesario. Denota el inicio de una propiedad de eje secundario.
child Necesario. Nombre de los nodos secundarios para obtener acceso, con el formato [prefix:]name.

- Prefix - Opcional. Prefijo de espacio de nombres XML para el nodo secundario. Debe ser un espacio de nombres XML global definido con una instrucción Imports.
- Name - Obligatorio. Nombre del nodo secundario local. Consulte Nombres de atributos y elementos XML declarados.
> Necesario. Denota el final de una propiedad de eje secundario.

Valor devuelto

Una colección de objetos XElement.

Comentarios

Puede usar una propiedad de eje secundario XML para tener acceso a los nodos secundarios por nombre desde un objeto XElement o XDocument, o desde una colección de objetos XElement o XDocument. Utilice la propiedad XML Value para tener acceso al valor del primer nodo secundario de la colección devuelta. Para obtener más información, consulte Value (Propiedad XML).

El compilador de Visual Basic convierte las propiedades de eje secundario en llamadas al método Elements.

Espacios de nombres XML

El nombre de una propiedad de eje secundario puede usar únicamente prefijos de espacios de nombres XML declarados globalmente con la instrucción Imports. No puede utilizar prefijos de espacio de nombres XML declarados localmente dentro de literales de elemento XML. Para obtener más información, consulte Imports (Instrucción, Espacio de nombres XML).

Ejemplo 1

En el ejemplo siguiente se muestra cómo obtener acceso a los nodos secundarios llamados phone desde el objeto contact.

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

Dim homePhone = From hp In contact.<phone> 
                Where contact.<phone>.@type = "home" 
                Select hp

Console.WriteLine("Home Phone = {0}", homePhone(0).Value)

Este código muestra el siguiente texto:

Home Phone = 206-555-0144

Ejemplo 2

En el ejemplo siguiente se muestra cómo tener acceso a los nodos secundarios denominados phone desde la colección devuelta por la propiedad contact del eje secundario del objeto contacts.

Dim contacts As XElement = 
    <contacts>
        <contact>
            <name>Patrick Hines</name>
            <phone type="home">206-555-0144</phone>
        </contact>
        <contact>
            <name>Lance Tucker</name>
            <phone type="work">425-555-0145</phone>
        </contact>
    </contacts>

Dim homePhone = From contact In contacts.<contact> 
                Where contact.<phone>.@type = "home" 
                Select contact.<phone>

Console.WriteLine("Home Phone = {0}", homePhone(0).Value)

Este código muestra el siguiente texto:

Home Phone = 206-555-0144

Ejemplo 3

En el ejemplo siguiente se declara 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 obtener acceso al primer nodo secundario con el nombre completo ns:name.

Imports <xmlns:ns = "http://SomeNamespace"> 
 
Class TestClass4

    Shared Sub TestPrefix()
        Dim contact = <ns:contact>
                        <ns:name>Patrick Hines</ns:name>
                      </ns:contact>
        Console.WriteLine(contact.<ns:name>.Value)
    End Sub

End Class

Este código muestra el siguiente texto:

Patrick Hines

Consulte también