none
Manejo de XML con VB6 - XMLDOM

    Question

  • Muy buenas:

     

    Alguien tiene algun manual o algún buen link con info de XML con VB6 ??

    No encontré aún nada bueno.

    Hay mucho sobre la carga y lectura de un XML existente, pero no encontré mucho sobre crear un archivo desde cero.

     

    Es urgente !!

    Muchas gracias...

    Marcelo

     

    Thursday, May 08, 2008 7:20 PM

Answers

  • Ya lo resolví.

    Básicamente, no uso el selectSingleNode(), sino que procuro mantener la instancia del nodo, además que el orden de como lo estaba armando no era correcto.

     

    Gracias por las respuestas, que fueron de gran ayuda.

    Saludos

    Marcelo

    Monday, May 12, 2008 6:16 PM

All replies

  • :-)

    Hola,

     

    Dale un vistazo a este estupendo ejemplo del colega MVP Rubén Vigón "El gato":

    Cómo exportar una tabla de una base de datos a un archivo XML:   tabla_a_xml.zip (78.27 Kb)

     

    Lo encontrarás en : http://vigon.mvps.org/ sección "Ejemplos"

     

    Saludos,

    Friday, May 09, 2008 7:23 AM
  • Gracias Luis por el dato.

    Es un buen ejemplo para empezar a hacer algo.

     

    Me gustaría conseguir la documentación del XML Parser. Así cuento con la referencia de los objetos, metodos y propiedades.

     

    Ahora busco en el link que me pasaste.

    Si alguien sabe donde encontrarlo, lo agradezco.

     

    Saludos,

    Marcelo

    Friday, May 09, 2008 12:54 PM
  • :-)

    De nada!

    La descarga del parser incluye la documentación:

    http://www.microsoft.com/downloads/details.aspx?familyid=b432cd45-b7ed-4c32-a443-ec56f10ee175&displaylang=en

     

    Por cierto, aquí puedes saber las versiones del parser y con que productos se incluyen:

    Lista de versiones del Analizador XML de Microsoft (MSXML)
    http://support.microsoft.com/kb/269238

     

    Algunos enlaces de Visual Basic 6.0 y XML:

    http://search.msdn.microsoft.com/Default.aspx?locale=en-us&Refinement=22&Query=xml%20parser%203.0&StartIndex=0&lang=en-us&Brand=msdn

     

    No olvides marcar la respuesta si te ha sido de utilidad.

    Saludos,
    Friday, May 09, 2008 1:38 PM
  • Excelente !!

    Muchas gracias.

     

    Saludos

    Marcelo

    Friday, May 09, 2008 7:04 PM
  • :-)

    Me alegro!

     

    Si no te importa marca la respuesta como válida, así mejoramos el nivel de los foros.

    Gracias de antemano...

    Friday, May 09, 2008 7:16 PM
  • Si, ya lo hice.

     

    Aprovecho para hacer otra consulta.

    Ya estoy trabajando en la generación del XML y me surgió un inconveniente.

     

    Intento crear un nodo "Fechas" que contiene a "N" nodos "fecha". Sería algo así:

     

    <raiz>

    <Fechas>

    <fecha>TEXTO1</fecha>

    <fecha>TEXTO2</fecha>

    <fecha>TEXTO3</fecha>

    </Fechas>

    </raiz>

     

    --Este el código que estoy usando--

    Dim xmlDoc As MSXML.DOMDocument
    Dim raiz As MSXML.IXMLDOMElement
    Dim fechas As MSXML.IXMLDOMElement

    Set xmlDoc = New MSXML.DOMDocument
    xmlDoc.appendChild xmlDoc.createElement("raiz")
        
    Set raiz = xmlDoc.selectSingleNode("//raiz")
        
    raiz.appendChild xmlDoc.createElement("Fechas")
       
    Set fechas = xmlDoc.selectSingleNode("//Fechas")
        
    fechas.appendChild xmlDoc.createElement("fecha")
    xmlDoc.selectSingleNode("//fecha").Text = "TEXTO1"
        
    fechas.appendChild xmlDoc.createElement("fecha")
    xmlDoc.selectSingleNode("//fecha").Text = "TEXTO2"
        
    fechas.appendChild xmlDoc.createElement("fecha")
    xmlDoc.selectSingleNode("//fecha").Text = "TEXTO3"
        
    xmlDoc.save "C:\prueba.xml"

     

    --Y me genera esto--

    <raiz>

    <Fechas>

    <fecha>TEXTO3</fecha>

    <fecha/>

    <fecha/>

    </Fechas>

    </raiz>

     

    Yo lo que veo es que el método selectSingleNode() obtiene el primer nodo encontrado, por eso es que pone el último texto en el primer nodo <fecha>

     

    Hay alguna forma de obtener el último nodo que se escribió ?

    Imagino que puedo solucionarlo preguntando por el texto o algun atributo, pero no me sirve eso, ya que para la aplicación final estoy haciendo procedimientos separados así independizo el código de la ventana que generará el archivo. Y no quisiera seguir pasando parámetros para comparar. Si es la última opción, lo haré, pero me gustaría resolverlo de la mejor manera.

     

    Espero haber sido claro.

    Muchas gracias

    Marcelo

     

     

    Monday, May 12, 2008 12:54 PM
  • Ya lo resolví.

    Básicamente, no uso el selectSingleNode(), sino que procuro mantener la instancia del nodo, además que el orden de como lo estaba armando no era correcto.

     

    Gracias por las respuestas, que fueron de gran ayuda.

    Saludos

    Marcelo

    Monday, May 12, 2008 6:16 PM