22-08-2021, 12:01
Hola a todos:
¿Existe alguna manera de acceder directamente a un elemento de un XML de manera similar a cómo se hace con «.Key» de un TreeView?
Ahora mismo estoy accediendo a los subelementos de un elemento así:
¿Habría alguna manera menos aparatosa?
Muchas gracias compañeros.[/i][/i]
¿Existe alguna manera de acceder directamente a un elemento de un XML de manera similar a cómo se hace con «.Key» de un TreeView?
Ahora mismo estoy accediendo a los subelementos de un elemento así:
Código:
Public Sub trvProyecto_Select()
Dim txtPaso As String
Dim Elemento As XmlElement
Dim Elementos As XmlElement[]
Dim Subel As XmlElement
Dim Subels As XmlElement[]
Dim Valores As New String[]
Dim i As Byte
'Estos en realidad se leen de CDATA del XML
Dim Campos As String[] = ["contenido", "notas", "sinopsis"]
'Estos deberían ser constantes de la aplicación
Dim intContenido As Integer = 0
Dim intNotas As Integer = 1
Dim intSinopsis As Integer = 2
Valores.Resize(Campos.Count)
txtPaso = trvProyecto.Item.Key
lblActual.Caption = trvProyecto.Item.Text
Elemento = xmlObjeto.Root
Elementos = Elemento.GetChildrenByNamespace("id")
For Each Elemento In Elementos
If Elemento.Value = txtPaso Then
For i = 0 To Campos.Max
Subels = Elemento.Parent.GetChildrenByNamespace(Campos[i],, 2)
If Subels.Count Then
Subel = Subels[0]
Valores[i] = Subel.Value
Endif
Next
Endif
Next
'Y aquí ya se hacen «cositas» con los datos leídos.
txtPral.RichText = Valores[intContenido]
End
¿Habría alguna manera menos aparatosa?
Muchas gracias compañeros.[/i][/i]