You can use an XmlTextWriter to write the document header.
vb.net Code:
Using ds As New DataSet("TheDataSet")
Dim dt As New DataTable("TheDataTable")
With dt.Columns
.Add("Field1", GetType(Integer)).AutoIncrement = True
.Add("Field2", GetType(Integer))
End With
With dt.Rows
.Add(Nothing, 11)
.Add(Nothing, 12)
.Add(Nothing, 13)
.Add(Nothing, 14)
.Add(Nothing, 15)
End With
ds.Tables.Add(dt)
Using xtw As New XmlTextWriter("C:\Temp\output.xml", Encoding.UTF8)
xtw.Formatting = Formatting.Indented
xtw.WriteStartDocument()
ds.WriteXml(xtw)
End Using
End Using
Here's the output
Code:
<?xml version="1.0" encoding="utf-8"?>
<TheDataSet>
<TheDataTable>
<Field1>0</Field1>
<Field2>11</Field2>
</TheDataTable>
<TheDataTable>
<Field1>1</Field1>
<Field2>12</Field2>
</TheDataTable>
<TheDataTable>
<Field1>2</Field1>
<Field2>13</Field2>
</TheDataTable>
<TheDataTable>
<Field1>3</Field1>
<Field2>14</Field2>
</TheDataTable>
<TheDataTable>
<Field1>4</Field1>
<Field2>15</Field2>
</TheDataTable>
</TheDataSet>