L'intero procedimento non è banale cosi' in due parole, comunque detto molto sinteticamente:
- Nelle opzioni del progetto, 'Assembly information', marca la voce 'Make assemmbly COM visible' e in 'Compile' marca 'Register for COM interop'
- Dal prompt dei comandi di Visual Studio esegui
"xsd <il tuo file>.xsd /c /l:vb"
dal quale otterrai <il tuo file>.vb con l'equivalente, sotto forma di classi VB, di tutti gli oggetti descritti nello schema
- Includi quel file nel progetto e compila
A questo punto, la libreria e le relative classi dovrebbero essere registrate e utilizzabili nei 'Riferimenti' di un progetto VB6... chiaramente, a seconda dei tipi di dato contenuti nel XSD, potrebbe essere necessario adattarle per compatibilità a VB, aggiungere attributi per pilotare la serializzazione, così come creare altre classi di supporto e via dicendo.
Per ottenere il file XML risultante (di nuovo, la sto facendo molto corta, ma la sostanza è questa), è sufficente popolare dal codice VB6 l'oggetto con i dati necessari e richiamare un metodo, da definire in una delle tue classi .NET, simile a
Sub SaveAsXML(ByVal obj As Object, ByVal fileName As String)
Dim objStreamWriter As New IO.StreamWriter(fileName)
Dim x As New XmlSerializer(obj.GetType)
x.Serialize(objStreamWriter, obj)
objStreamWriter.Close()
End Sub
e ottieni l'intera struttura dei tag XML e i relativi dati senza bisogno di altro