【发布时间】:2016-01-08 12:10:12
【问题描述】:
我正在开发一个 UWP 应用程序,我需要在其中读取 XML 文件并将其写入设备。我花了一段时间搜索找到一个涵盖基础知识的教程,足以让我“有点”理解它。本教程Serialize/Deserialize an Object to an XML File (Windows Universal apps 8.1) 有一个简洁的示例,根据 cmets 应该可以工作。但是,当我按 F5 时出现此错误 无法从用法中推断出方法的类型参数。尝试明确指定类型参数。
这条线上的误差面
Robot robot2 = await XmlIO.XmlRW.ReadObjectFromXmlFileAsync("robbie.xml");
它指向的方法是this
public static async Task<T> ReadObjectFromXmlFileAsync<T>(string filename)
{
// this reads XML content from a file ("filename")
// and returns an object from the XML
T objectFromXml = default(T);
var serializer = new XmlSerializer(typeof(T));
StorageFolder folder = ApplicationData.Current.LocalFolder;
StorageFile file = await folder.GetFileAsync(filename);
Stream stream = await file.OpenStreamForReadAsync();
objectFromXml = (T)serializer.Deserialize(stream);
stream.Dispose();
return objectFromXml;
}
我认为也许我需要将 Task
【问题讨论】:
-
ReadObjectFromXmlFileAsync
("robbie.xml") -
您的 XML 文件有多大?不确定从本地文件系统(或小型 xml)获取文件时为什么需要异步读取。你为什么选择这种方法?解析xml的方式有很多种。
-
@jdweng XML 文件正在从 300 行/10 列宽的 SQL Server 表中导出。我不确定是否保证异步读取,但这是我能找到的唯一教程,它引导我了解基础知识或在 UWP 应用程序中读写 XML
-
@lonewolf 确实解决了我的问题。如果您发布该答案,我将接受该答案。
标签: c# xml uwp windows-10-universal