Hier ist ein sehr einfaches Beispiel mit fest codierten Daten, damit Sie sehen können, worüber ich gesprochen habe. Platzieren Sie in der Console.WriteLine einen Unterbrechungspunkt, und notieren Sie das DataSet.
Dim fileName As String = IO.Path.Combine(
AppDomain.CurrentDomain.BaseDirectory, "MyData.xml")
Dim ds As New DataSet
Dim dt As New DataTable With {.TableName = "Person"}
dt.Columns.Add(New DataColumn With {.ColumnName = "FirstName", .DataType = GetType(String)})
dt.Columns.Add(New DataColumn With {.ColumnName = "MiddleName", .DataType = GetType(String)})
dt.Columns.Add(New DataColumn With {.ColumnName = "LastName", .DataType = GetType(String)})
dt.Rows.Add(New Object() {"Karen", "Ann", "Payne"})
dt.Rows.Add(New Object() {"Kevin", "S", "Gallagher"})
dt.Rows.Add(New Object() {"Mary", "D", "Jones"})
ds.Tables.Add(dt)
ds.WriteXml(fileName)
Console.WriteLine("place a break point here")
ds.Clear()
ds.ReadXml(fileName)
Console.WriteLine("place a break point here")
Ergebnisse
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Person>
<FirstName>Karen</FirstName>
<MiddleName>Ann</MiddleName>
<LastName>Payne</LastName>
</Person>
<Person>
<FirstName>Kevin</FirstName>
<MiddleName>S</MiddleName>
<LastName>Gallagher</LastName>
</Person>
<Person>
<FirstName>Mary</FirstName>
<MiddleName>D</MiddleName>
<LastName>Jones</LastName>
</Person>
</NewDataSet>
Notiere die DataSet Namen NewDataSet, lassen Sie uns ändern, dass die Daten durch die Schaffung eingestellt als
Dim ds As New DataSet With {.DataSetName = "People"}
Ergebnisse
<?xml version="1.0" standalone="yes"?>
<People>
<Person>
<FirstName>Karen</FirstName>
<MiddleName>Ann</MiddleName>
<LastName>Payne</LastName>
</Person>
<Person>
<FirstName>Kevin</FirstName>
<MiddleName>S</MiddleName>
<LastName>Gallagher</LastName>
</Person>
<Person>
<FirstName>Mary</FirstName>
<MiddleName>D</MiddleName>
<LastName>Jones</LastName>
</Person>
</People>
Es folgt DataSet ist. WriteXml und DataTable.WriteXml für Speichern in XML dann die umgekehrte DataSet.ReadXml usw. xsd wäre eine Erweiterung für eine XML-Schemadatei. Ich würde vorschlagen, sicherzustellen, dass das DataSet Daten über einen Break-Point hat dann die Tabellen innerhalb und ändern Sie die Erweiterung für die Datei zu .xml –
Vielen Dank, ich werde es versuchen! –
Die DataTable WriteXml() -Methode funktioniert nur, wenn die DataTable eine name -Eigenschaft hat. Die DataSet-Methode arbeitet mit/ohne Namen. Sie können also entweder einen Namen zur Tabelle hinzufügen oder die DataSet-Methode verwenden. Ich empfehle auch, die WriteSchema-Option zu verwenden, so dass die Spalten jedes Mal den gleichen Typ haben, wenn Sie die Datei schreiben/lesen. – jdweng