我正在尝试加载一个存在于Windows Phone 7解决方案中的XML文件。我想知道将文件包含在项目中的正确方法,然后用代码引用它。我当前的代码给了我一个错误
NotSupportedException异常 “WebClient请求期间发生异常。”
这是我的WebClient代码的存根
WebClient workbenchAdConfigRequest = new WebClient();
workbenchAdConfigRequest.OpenReadCompleted += new OpenReadCompletedEventHandler(workbenchAdConfigRequest_OpenReadCompleted);
workbenchAdConfigRequest.OpenReadAsync(new Uri("/SampleData/SampleData.xml", UriKind.Relative));
并且事件处理程序是
private void workbenchAdConfigRequest_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
try
{
XElement xml = XElement.Load(e.Result);
}
catch
{
//return
}
}
在文件/SampleData/SampleData.xml上我已将属性设置为
构建操作:嵌入式参考 复制到输出目录:不复制 自定义工具:MSBuild:编译
您可以从应用程序的“文件路径”加载本地文件吗?
答案 0 :(得分:3)
您还可以在XML文件的属性中将“Build Action”设置为“Content”,然后在后面的代码中设置:
using System.Xml.Linq;
...
XElement appDataXml;
StreamResourceInfo xml = Application.GetResourceStream(new Uri("yourxmlfilename.xml", UriKind.Relative));
appDataXml = XElement.Load(xml.Stream);
答案 1 :(得分:2)
以下是加载XML文件的方法:
在XML文件的属性中将“Build action”设置为“Resource”,然后在代码中设置:
using System.Xml.Linq;
...
XElement appDataXml;
StreamResourceInfo xml = Application.GetResourceStream(new Uri("/yourprojectname;component/yourxmlfilename.xml", UriKind.Relative));
appDataXml = XElement.Load(xml.Stream);
答案 2 :(得分:0)
这是我在MSDN上发布的一个工作项目,只是在XAP中存储XML并使用XDocument / LINQ加载它,将结果绑定到ListBox。