Im complètement nouveau à (VB) scripting, et essaye de trouver un moyen dans un composant de script SSIS pour convertir 3 colonnes d'entrée en une colonne de sortie structurée XML.SSIS - Composant de script VB pour convertir l'entrée en XML
Input:
ID NAME DATE
1 AAA 2011-01-01
2 BBB 2011-02-01
3 CCC 2011-03-01
Expected Output:
<output>
<row>
<id>1</id>
<name>AAA</name>
<date>2011-01-01</date>
</row>
<row>
<id>2</id>
<name>BBB</name>
<date>2011-02-01</date>
</row>
<row>
<id>3</id>
<name>CCC</name>
<date>2011-03-01</date>
</row>
</output>
La solution im recherche a besoin d'être évolutive dans la mesure où il peut y avoir x nombre de colonnes et le script a juste besoin de parcourir chaque colonne et générer la balise nom et la valeur.
Je suis en quelque sorte arrivé en sortant chaque valeur dans un nœud "param" générique, mais je ne sais pas comment obtenir les noms de colonnes.
Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal Buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer)
inputBuffer = Buffer
MyBase.ProcessInput(InputID, Buffer)
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Dim xml_string As String = ""
Dim counter As Integer
xml_string = "<output>"
For counter = 0 To inputBuffer.ColumnCount - 1
xml_string = xml_string + "<param>" + inputBuffer.Item(counter).ToString() + "</param>"
Next
xml_string = xml_string + "<output>"
Row.xmloutput = xml_string
End Sub
trouvé ma réponse ici: http://agilebi.com/jwelch/2007/06/03/xml- transformations-partie-2 / – shakedown7