Propiedad de eje descendiente XML Visual Basic)
Proporciona el acceso a los descendientes de uno de los siguientes elementos: un objeto XElement, un objeto XDocument, una colección de objetos XElement o una colección de objetos XDocument.
Sintaxis
object...<descendant>
Partes
object
Obligatorio. Un objeto XElement, un objeto XDocument, una colección de objetos XElement o una colección de objetos XDocument.
...<
Obligatorio. Denota el inicio de una propiedad del eje descendiente.
descendant
Obligatorio. Nombre de los nodos descendientes a los que se accede, con el formato [prefix:]name
.
Parte | Descripción |
---|---|
prefix |
Opcional. Prefijo de espacio de nombres XML para el nodo descendiente. Debe ser un espacio de nombres XML global definido mediante una instrucción Imports . |
name |
Necesario. Nombre local del nodo descendiente. Consulte Nombres de atributos y elementos XML declarados. |
>
Obligatorio. Denota el final de una propiedad del eje descendiente.
Valor devuelto
Una colección de objetos XElement.
Comentarios
Puede usar una propiedad de eje descendiente XML para tener acceso a los nodos descendientes por nombre desde un objeto XElement o XDocument, o bien desde una colección de objetos XElement o XDocument. Utilice la propiedad XML Value
para acceder al valor del primer nodo descendiente de la colección devuelta. Para más información, consulte Value (Propiedad XML).
El compilador de Visual Basic convierte las propiedades de eje descendiente en llamadas al método Descendants.
Espacios de nombres XML
El nombre de una propiedad de eje descendiente solo puede usar espacios de nombres XML declarados globalmente con la instrucción Imports
. No puede utilizar espacios de nombres XML declarados localmente dentro de literales de elemento XML. Para más información, consulte Imports (Instrucción, Espacio de nombres XML).
Ejemplo 1
En el ejemplo siguiente se muestra cómo acceder al valor del primer nodo descendiente denominado name
y a los valores de todos los nodos descendientes denominados phone
desde el objeto contacts
.
Dim contacts As XElement =
<contacts>
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
</contacts>
Console.WriteLine("Name: " & contacts...<name>.Value)
Dim homePhone = From phone In contacts...<phone>
Select phone.Value
Console.WriteLine("Home Phone = {0}", homePhone(0))
Este código muestra el siguiente texto:
Name: Patrick Hines
Home Phone = 206-555-0144
Ejemplo 2
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 acceder al valor del primer nodo secundario con el nombre completo ns:name
.
Imports <xmlns:ns = "http://SomeNamespace">
Class TestClass2
Shared Sub TestPrefix()
Dim contacts =
<ns:contacts>
<ns:contact>
<ns:name>Patrick Hines</ns:name>
</ns:contact>
</ns:contacts>
Console.WriteLine("Name: " & contacts...<ns:name>.Value)
End Sub
End Class
Este código muestra el siguiente texto:
Name: Patrick Hines