Hi
I'm not really sure if it is a something simple that I am just not grasping or something which might require a different approach.
I am trying to achieve the following result below (I have removed a lot of the meta data to aid with reading):

<dealer>
<dealername>ABC</dealername>
<dealerID>1</dealerID>
<vehicle>
<stockID>100</stockID>
<make>Samsung</make>
<model>Galaxy</model>
<images>
<imgurl>http://www.dealer-website.co.za/images/image1.jpg</imgurl>
<imgurl>http://www.dealer-website.co.za/images/image2.jpg</imgurl>
</images>

</vehicle>
….
</dealer>

My problem lies with repeating <imgurl> fields inside the images tag WITHOUT the numbers .

Currently I have only been able to produce the following 2 Results :

Result 1 (tableImagesA) :

<dealer>
<dealerID>1</dealerID>
<dealername>ABC</dealername>
<vehicle>
<stockID>100</stockID>
<make>Samsung</make>
<model>Galaxy</model>
<images>
<image1>http://www.dealer-website.co.za/images/image1.jpg</image1>;
<image2>http://www.dealer-website.co.za/images/image2.jpg</image2>;
</images>

</vehicle>
….
</dealer>

And Result 2 (tableImagesB) :

<dealer>
<dealerID>1</dealerID>
<dealername>ABC</dealername>
<vehicle>
<stockID>100</stockID>
<make>Samsung</make>
<model>Galaxy</model>
<images>
<imgurl>http://www.dealer-website.co.za/images/image1.jpg</imgurl>;
</images>
<images>
<imgurl>http://www.dealer-website.co.za/images/image2.jpg</imgurl>;
</images>

</vehicle>
….
</dealer>


Code Section (I use tables from a database but have manually added the data to datatables below for clarity):

Code:
  Dim ds As New DataSet
 
        'Define Dealer table columns and types
        Dim tableDealers As New DataTable
        tableDealers.TableName = "dealer"
        tableDealers.Columns.Add(New DataColumn("dealerID", Type.GetType("System.Int32")))
        tableDealers.Columns.Add(New DataColumn("dealername", Type.GetType("System.String")))
 
        'Add Dealer data to table
        Dim obj As Object() = {"1", "ABC"} 'Create object array with row values
        tableDealers.Rows.Add(obj) 'Add row to table
 
        'Add table to dataset
        ds.Tables.Add(tableDealers)
 
        Dim tableVehicles As New DataTable
        tableVehicles.TableName = "vehicle"
        tableVehicles.Columns.Add(New DataColumn("stockID", Type.GetType("System.Int32")))
        tableVehicles.Columns.Add(New DataColumn("make", Type.GetType("System.String")))
        tableVehicles.Columns.Add(New DataColumn("model", Type.GetType("System.String")))
        tableVehicles.Columns.Add(New DataColumn("dealerID", Type.GetType("System.Int32")))
 
        obj = New Object() {"100", "Samsung", "Galaxy", "1"} 'New Object() for VS 2008 compatibility
        tableVehicles.Rows.Add(obj)
        obj = New Object() {"101", "LG", "Optimus", "1"}
        tableVehicles.Rows.Add(obj)
        obj = New Object() {"102", "Panasonic", "Lumix", "1"}
        tableVehicles.Rows.Add(obj)
        obj = New Object() {"103", "Sony", "Xperia", "1"}
        tableVehicles.Rows.Add(obj)
 
        ds.Tables.Add(tableVehicles)
 
        Dim relDealerStock As DataRelation = New DataRelation("relDealerStock", tableDealers.Columns("dealerID"), tableVehicles.Columns("dealerID"))
        relDealerStock.Nested = True
        tableVehicles.Columns("dealerID").ColumnMapping = MappingType.Hidden
        ds.Relations.Add(relDealerStock)
 
        'tableImagesA - representation of what the actual table design looks like in the database
        Dim tableImages As New DataTable
        tableImages.TableName = "images"
        tableImages.Columns.Add(New DataColumn("stockID", Type.GetType("System.Int32")))
        tableImages.Columns.Add(New DataColumn("image1", Type.GetType("System.String")))
        tableImages.Columns.Add(New DataColumn("image2", Type.GetType("System.String")))
        tableImages.Columns.Add(New DataColumn("image3", Type.GetType("System.String")))
        tableImages.Columns.Add(New DataColumn("image4", Type.GetType("System.String")))
        tableImages.Columns.Add(New DataColumn("image5", Type.GetType("System.String")))
 
        obj = New Object() {"100", "http://www.dealer-website.co.za/images/image1.jpg", "http://www.dealer-website.co.za/images/image2.jpg"}
        tableImages.Rows.Add(obj)
        obj = New Object() {"102", "http://www.dealer-website.co.za/images/image1b.jpg"}
        tableImages.Rows.Add(obj)
 
        'tableImagesB - representation of transposed version of the tableImagesA table by means of union queries
        'Dim tableImages As New DataTable
        'tableImages.TableName = "images"
        'tableImages.Columns.Add(New DataColumn("stockID", Type.GetType("System.Int32")))
        'tableImages.Columns.Add(New DataColumn("imgurl", Type.GetType("System.String")))
 
        'obj = New Object() {"100", "http://www.dealer-website.co.za/images/image1.jpg"}
        'tableImages.Rows.Add(obj)
        'obj = New Object() {"100", "http://www.dealer-website.co.za/images/image2.jpg"}
        'tableImages.Rows.Add(obj)
        'obj = New Object() {"102", "http://www.dealer-website.co.za/images/image1b.jpg"}
        'tableImages.Rows.Add(obj)
 
        ds.Tables.Add(tableImages)
 
        Dim relStockImages As DataRelation = New DataRelation("relStockImages", tableVehicles.Columns("stockID"), tableImages.Columns("stockID"))
        relStockImages.Nested = True
        tableImages.Columns("stockID").ColumnMapping = MappingType.Hidden
        ds.Relations.Add(relStockImages)
 
        ds.DataSetName = "root"
 
        Me.txtDisplay.Text = ds.GetXml
I’m not sure what to try further. I was hoping that someone might be able to shine some light on this matter.
Thank you