我使用.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
答案 0 :(得分:2)
ReadXml的设计或任务不是设置您的DataSet名称 - 您必须自己完成此操作。
当然 - 在您的情况下,您希望将其设置为根级别名称 - 但这可能不是每个人都想要的。其他人可能想要将其设置为文件名 - 甚至是完全不同的东西。
作为妥协,ReadXml函数根本不做任何事情 - 它不会以任何方式,形状或形式触及您的DataSet名称。你这没有错误 - 就是这样。
马克