Propiedades de eje secundario XML
Actualización: noviembre 2007
Proporciona acceso a los elementos secundarios de un objeto XElement, un objeto XDocument, una colección de objetos XElement o una colección de objetos XDocument.
object.<child>
Partes
object
Necesario. Objeto XElement, objeto XDocument, colección de objetos XElement o colección de objetos XDocument..<
Necesario. Denota el inicio de una propiedad de eje secundario.child
Necesario. Nombre de los nodos secundarios a los que se va a obtener acceso, con el formato [prefix:]name.Parte
Descripción
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
Necesario. Nombre local del nodo secundario. Visite 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 obtener acceso a los nodos secundarios por nombre de un objeto XElement o XDocument, o de una colección de objetos XElement o XDocument. Use la propiedad XML Value para obtener acceso al valor del primer nodo secundario en la colección devuelta. Para obtener más información, consulte Propiedad Value de XML.
El compilador de Visual Basic convierte las propiedades de eje secundario en llamadas al método Elements.
Espacios de nombres XML
El nombre en una propiedad de eje secundario puede usar únicamente prefijos de espacio de nombres XML declarados globalmente con la instrucción Imports. No puede usar prefijos de espacio de nombres XML declarados localmente dentro de los literales de elemento XML. Para obtener más información, consulte Imports (Instrucción, Espacio de nombres XML).
Ejemplo
En el ejemplo siguiente se muestra cómo obtener acceso a los nodos secundario denominados phone del 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 texto siguiente:
Home Phone = 206-555-0144
En el ejemplo siguiente se muestra cómo obtener acceso a los nodos secundarios denominados phone de la colección devuelta por la propiedad de eje secundario contact 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 texto siguiente:
Home Phone = 206-555-0144
En el ejemplo siguiente se declara ns como 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 texto siguiente:
Patrick Hines
Vea también
Conceptos
Nombres de atributos y elementos XML declarados