如何使用.Net中的ReadXML()从XML文件中读取DataSetName?

时间:2009-09-14 19:17:48

标签: .net xml-serialization dataset

我使用.WriteXML(FileName)将DataSet写入XML文件,数据集的DataSetName属性是文件中的顶级标记。但是,当我尝试使用.ReadXML(FileName)将文件读入不同的DataSet时,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 个答案:

答案 0 :(得分:2)

ReadXml的设计或任务不是设置您的DataSet名称 - 您必须自己完成此操作。

当然 - 在您的情况下,您希望将其设置为根级别名称 - 但这可能不是每个人都想要的。其他人可能想要将其设置为文件名 - 甚至是完全不同的东西。

作为妥协,ReadXml函数根本不做任何事情 - 它不会以任何方式,形状或形式触及您的DataSet名称。你这没有错误 - 就是这样。

马克