guizans   12-08-2020, 22:43
#1
Hola a todos.

No lo consigo. Por mas que lo he intentado no he sido capaz de leer un archivo XML. La documentación es muy escasa por no decir nula, aquí no he sacada nada en claro. Me he leído y repasado la parte de XML del libro de Daniel Campos y no he podido aclararme. ¿Alguien sabe usar el componente gb.xml que me pueda guiar? ¿o alguna guía o tutorial?

Muchas gracias.
Última modificación: 14-08-2020, 17:24 por guizans.
jguardon   12-08-2020, 23:36
#2
Solo por preguntar, que ahora mismo no puedo mirarlo, ¿has buscado en la granja? Me suena que hay algo hecho al respecto y podría servirte de guía. Hasta donde yo sé, este componente lo usan algunos programadores en la lista de correo y funciona muy bien, pero es cierto que es bastante complicado. Yo por eso uso JSON, que es mucho más sencillo.

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
gambafeliz   13-08-2020, 14:03
#3
(12-08-2020, 22:43)guizans escribió: Hola a todos.

No lo consigo. Por mas que lo he intentado no he sido capaz de leer un archivo XML. La documentación es muy escasa por no decir nula, aquí no he sacada nada en claro. Me he leído y repasado la parte de XML del libro de Daniel Campos y no he podido aclararme. ¿Alguien sabe usar el componente gb.xml que me pueda guiar? ¿o alguna guía o tutorial?

Muchas gracias.

Yo creo que te puedo ayudar, pero no lo he probado nunca, dime que quieres hacer.

Supongo que:
1. leer un xml
2. buscar ramas en el.
3. escribir nuevas lineas.
4. modificar lineas existentes
5. borrar lineas (hijos y padres por ejemplo)
6. reescribir el xml

¿Eso por ejemplo?

Te lo pregunto para hacerme un proyecto y probar su uso.

Nota: Tras intentar crear un proyecto para ayudarte, pues simplemente no se añadir el componente XML, Huh vaya ayuda que te voy a dar.
Última modificación: 13-08-2020, 14:27 por gambafeliz.
guizans   13-08-2020, 17:37
#4
(13-08-2020, 14:03)gambafeliz escribió:
(12-08-2020, 22:43)guizans escribió: Hola a todos.

No lo consigo. Por mas que lo he intentado no he sido capaz de leer un archivo XML. La documentación es muy escasa por no decir nula, aquí no he sacada nada en claro. Me he leído y repasado la parte de XML del libro de Daniel Campos y no he podido aclararme. ¿Alguien sabe usar el componente gb.xml que me pueda guiar? ¿o alguna guía o tutorial?

Muchas gracias.

Yo creo que te puedo ayudar, pero no lo he probado nunca, dime que quieres hacer.

Supongo que:
1. leer un xml
2. buscar ramas en el.
3. escribir nuevas lineas.
4. modificar lineas existentes
5. borrar lineas (hijos y padres por ejemplo)
6. reescribir el xml

¿Eso por ejemplo?

Te lo pregunto para hacerme un proyecto y probar su uso.

Nota: Tras intentar crear un proyecto para ayudarte, pues simplemente no se añadir el componente XML, Huh vaya ayuda que te voy a dar.
 Hola.

Pues, en mi caso es algo tan sencillo como solo leerlo. El XML lo descargo de una página web e intento leerlo. Pero por mas que he probado no acaba de funcionar, mas que nada por que no comprendo como funciona la clase xmlReader. No tengo ni idea.

(12-08-2020, 23:36)jguardon escribió: Solo por preguntar, que ahora mismo no puedo mirarlo, ¿has buscado en la granja? Me suena que hay algo hecho al respecto y podría servirte de guía. Hasta donde yo sé, este componente lo usan algunos programadores en la lista de correo y funciona muy bien, pero es cierto que es bastante complicado. Yo por eso uso JSON, que es mucho más sencillo.

Saludos

Pues no lo he mirado, le voy a echar un vistazo a ver si veo algo. ¿Qué componente usas para leer JSON? Por que también me puede valer.
Última modificación: 13-08-2020, 17:38 por guizans.
gambafeliz   13-08-2020, 18:20
#5
Yo te ayudo gracias a que ya sé instalar gb.XML pero me deja en duda cuando dices que lo vas a intentar con JSon.

Voy a mirartelo.

Aaadios
tincho   13-08-2020, 18:36
#6
(12-08-2020, 22:43)guizans escribió: Hola a todos.
No lo consigo. Por mas que lo he intentado no he sido capaz de leer un archivo XML. La documentación es muy escasa por no decir nula, aquí no he sacada nada en claro. Me he leído y repasado la parte de XML del libro de Daniel Campos y no he podido aclararme. ¿Alguien sabe usar el componente gb.xml que me pueda guiar? ¿o alguna guía o tutorial?
Hola Guizans, leer un xml es relativamente fácil.
Te dejo un ejemplo de como hacerlo como adjunto y tambien en código aquí.
Código:
' Gambas class file
Public Sub Button1_Click()
  Dim stx As String[]
  Dim v As String
  Dim i As Integer
  If Exist("./default.xml") Then
    stx = ReadXML("./default.xml")
  Endif
  TreeView1.Clear
  TreeView1.Add("root", "xml")
  If stx.Count > 0 Then
    For Each v In stx
      TreeView1.Add(CStr(i), v,, "root")
      Inc i
    Next
  Endif
  TreeView1["root"].Expanded = True
End
Public Function ReadXML(xf As String) As String[]
  Dim document As New XmlDocument
  Dim node As XmlNode
  Dim stx As New String[]
  document.Open(xf)
  For Each node In document.All
    stx.Add(node.Name & ":" & node.Value)
  Next
  Return stx
End
Nota: Tienes que habilitar el componente gb.xml
Saludos.
Archivos adjuntos
.gz
ejemplo-xml-read-0.0.1.tar.gz (Tamaño: 12.37 KB Descargas: 8)

1 Saludo.
gambafeliz   13-08-2020, 18:45
#7
(13-08-2020, 17:37)guizans escribió:  Hola.

Pues, en mi caso es algo tan sencillo como solo leerlo. El XML lo descargo de una página web e intento leerlo. Pero por mas que he probado no acaba de funcionar, mas que nada por que no comprendo como funciona la clase xmlReader. No tengo ni idea.

Mira esta página para ver si te sirve: https://es.wikibooks.org/wiki/Gambas/Man...mentos_XML

Este código es de la página pero corregido por que el de la página no va bien:
Código:
Public Sub Button1_Click()
   Dim reader As XmlReader

   reader = New XmlReader
   Try reader.Open(User.home & "/Descargas/Heroes.xml")
   If Error Then
      Message.Error("Error when trying to open the Heroes.XML file!")
      Return
   Endif
   Do While True
      Try reader.Read()
      If reader.Eof Then Break

      Select Case reader.Node.Name
         Case "heroe"
            For Each reader.Node.Attributes
               If reader.Node.Name = "name" Then
                  Try TreeView1.Add(reader.Node.Value, "Characters of the TV Series: " & reader.Node.Value, Null, Null)
               Endif
            Next
            'Here goes the next block of code
      End Select

   Loop
   reader.Close()
End

Adjuto el xml también corregido por que el de la página no va bien con el ejemplo real de la página.

Código:
<?xml version="1.0" encoding="UTF-16" ?>
<characters serie="Heroes">
  <heroe id="1" name="Claire Bennet">
    <name>Claire Bennet</name>
    <played_by>Hayden Panettiere</played_by>
    <ability>
      Rapid cellular regeneration
    </ability>
  </heroe>
  <heroe id="2" name="Hiro Nakamura">
    <name>Hiro Nakamura</name>
    <played_by>Masi Oka</played_by>
    <ability>
      Space-time manipulation: teleportation - time travel
    </ability>
  </heroe>
  <villain id="1" name=" Gabriel Sylar">
    <name>Gabriel Sylar</name>
    <played_by>Zachary Quinto</played_by>
    <ability>
      Understand how things work and multiple other abilities acquired
    </ability>
  </villain>
</characters>
Última modificación: 13-08-2020, 19:20 por gambafeliz.
guizans   14-08-2020, 00:05
#8
Gracias a los dos. Estudio vuestros ejemplos y espero conseguirlo.

Un saludo.

P.D.: Vuestros códigos me han servido y me han sido de mucha utilidad, de nuevo muchas gracias.

Un saludo.
Última modificación: 14-08-2020, 17:22 por guizans.
  
Usuarios navegando en este tema: 3 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.