1

我正在尝试加载一个存在于我的 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:Compile

您可以从应用程序的“文件路径”加载本地文件吗?

4

3 回答 3

3

您还可以在 XML 文件的属性中将“构建操作”设置为“内容”,然后在后面的代码中:

using System.Xml.Linq;

……

XElement appDataXml;

StreamResourceInfo xml = Application.GetResourceStream(new Uri("yourxmlfilename.xml", UriKind.Relative)); 
appDataXml = XElement.Load(xml.Stream);
于 2010-12-21T08:01:59.260 回答
2

以下是加载 XML 文件的方法:

在 XML 文件的属性中将“构建操作”设置为“资源”,然后在代码中:

using System.Xml.Linq;

……

XElement appDataXml;

StreamResourceInfo xml = Application.GetResourceStream(new Uri("/yourprojectname;component/yourxmlfilename.xml", UriKind.Relative)); 
appDataXml = XElement.Load(xml.Stream);
于 2010-12-10T08:00:33.213 回答
0

这是我在 MSDN 上发布的一个工作项目,它只是将 XML 存储在 XAP 中并使用 XDocument/LINQ 加载它,将结果绑定到 ListBox。

将 Linq 数据源绑定到列表框

于 2010-12-10T02:16:28.457 回答