Principales respuestas
Manejo de XML con VB6 - XMLDOM

Pregunta
-
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
- Cambiado Enrique M. Montejo miércoles, 19 de octubre de 2016 14:16 Pregunta relacionada con Visual Basic 6.0.
Respuestas
Todas las respuestas
-
:-)
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,
-
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
-
:-)
De nada!
La descarga del parser incluye la documentación:
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/269238Algunos enlaces de Visual Basic 6.0 y XML:
No olvides marcar la respuesta si te ha sido de utilidad.
Saludos, -
-
-
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.IXMLDOMElementSet 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
-
-
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
Disculpa, puedes mostrar el codigo de como lo hiciste?, ya que tengo el mismo inconveniente.
Saludos.