用于将XML文件读入DataTable的代码
我编写了下面的代码片段,它读取给定的xml文件并将内容写入数据表。 请不要建议使用LinqToXml,因为这是一个遗留应用程序。
// create the DataTable that will hold the data DataTable table = new DataTable("ListOfPersonsWithInfo"); // open the file using a Stream using (Stream stream = new FileStream(fileNameWithAbsolutePath, FileMode.Open, FileAccess.Read)) { // create the table with the appropriate column names table.Columns.Add("Name", typeof(String)); table.Columns.Add("ImagePath", typeof(String)); table.Columns.Add("Address", typeof(String)); // use ReadXml to read the XML stream table.ReadXml(stream); // tried with this overload-option as well but didnt help //table.ReadXml(fileNameWithAbsolutePath); // return the results return table; }
但是返回的表包含ZERO行…… !!! 其中实际的xml文件有’3行’,结构如下(任何IDEA这里出了什么问题?):
Jack C:\Users\Public\Pictures\Sample Pictures\Desert.jpg NewYork Tom C:\Users\Public\Pictures\Sample Pictures\Desert.jpg London Jill C:\Users\Public\Pictures\Sample Pictures\Desert.jpg Tokyo
您可以使用ReadXML
DataSet ds = new DataSet(); ds.ReadXml(fileNameWithAbsolutePath); return ds.Tables[0];