Как мне прочитать в DataSetName из XML-файла, используя ReadXML () в .Net? - PullRequest
2 голосов
/ 14 сентября 2009

Я записал DataSet в XML-файл, используя .WriteXML (FileName), а свойство DataSetName набора данных является тегом верхнего уровня в файле. Однако, когда я пытаюсь прочитать файл в другой DataSet с помощью .ReadXML (FileName), DataSetName не изменяется на значение тега верхнего уровня. Я делаю что-то не так, или ReadXML не должен устанавливать DataSetName? Просто кажется мне странным, что он пишет это, но не читает.

Вот мой код написания, файл XML и код чтения:

Запись:

dsNewReport.DataSetName = "Rejected"
dsNewReport.WriteXml(My.Application.Info.DirectoryPath & "/Reports/Incomplete/" & fileName)

Полученный XML:

<?xml version="1.0" standalone="yes"?>
<Rejected>
  <SearchData>
  //SNIP
  </SearchData>
</Rejected>

Чтение:

dsSearchReport.ReadXml(My.Application.Info.DirectoryPath & "/Reports/Incomplete/Search_" & Search_SEQ_GUID & ".xml")
If dsSearchReport.DataSetName = "Rejected" Then
    return True
    'DataSetName = dsSearchReport after the read      
End IF

1 Ответ

2 голосов
/ 14 сентября 2009

ReadXml не предназначен и не имеет задачи по установке имени вашего набора данных - вам придется сделать это самостоятельно.

Конечно, в вашем случае вы хотите установить для него имя корневого уровня, но это может быть не то, что хотят все. Кто-то может захотеть установить его в имя файла - или даже что-то совершенно другое.

Таким образом, в качестве компромисса, функция ReadXml вообще ничего не делает - она ​​не затрагивает имя вашего DataSet каким-либо образом, в какой бы то ни было форме. Там нет ошибки с вашей стороны - это просто так.

Марк

...