Загрузка набранного набора данных из документа XML - PullRequest
2 голосов
/ 26 февраля 2010

Я не могу заполнить набранный набор данных

Using reader as New StringReader(My.Resources.sampledata)
  typedDataset.ReadXML(reader)
  'typedDataset.WriteXML("c:\data.xml")
End Using

Выше не работает.Если я позволю закомментированной строке записать результаты в файл, я получу файл размером 1 КБ с

<?xml version="1.0" standalone="yes"?>
<testSchema xmlns="http://tempuri.org/TestSchema.xsd" />

Если я создам пустой набор данных, этот

Dim data as New DataSet
    Using reader as New StringReader(My.Resources.sampledata)
  data.ReadXML(reader)
  'data.WriteXML("c:\data.xml")
End Using

Записывает данные в файл,Это означает, что набор данных загружается из XML.XML был создан из действительного набора данных

Dim ds as DataSet = Service.GetData(params)
ds.WriteXML(C:\sampledata.xml")

и затем сохранен в файле ресурсов.

Я также попробовал варианты

1. Auto
2. ReadSchema
3. IgnoreSchema
4. InferSchema

С "InferSchema" Iбыл в состоянии добавить XML, но он создал вторую таблицу.

Все, что я хочу сделать, это загрузить мой типизированный набор данных из документа XML, который был создан из набора данных. WriteXML ()

Спасибо

Ответы [ 2 ]

3 голосов
/ 26 февраля 2010

Решение

Dim ds As New DataSet
Using reader As New System.IO.StringReader(My.Resources.sampledata)
      ds.ReadXml(reader)
      typedDS.Load(ds.Tables(0).CreateDataReader(),
                   LoadOption.OverwriteChanges,
                   typedDS.MyTable)

End Using
0 голосов
/ 26 февраля 2010

Вы должны написать с включенной схемой.

ds.WriteXml("TEST.xml", XmlWriteMode.WriteSchema);

редактирование:

или

ds.Tables[0].WriteXml("TEST.xml", XmlWriteMode.WriteSchema);
ds.Tables[0].ReadXml("TEST.xml");

или строго типизированные данные для чтения / записи

typedDataset.tableName.WriteXml("TEST.xml", XmlWriteMode.WriteSchema);
typedDataset.tableName.ReadXml("TEST.xml");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...