【问题标题】:Loading local xml file in Windows Phone 7 (WP7)在 Windows Phone 7 (WP7) 中加载本地 xml 文件
【发布时间】:2010-12-10 02:06:09
【问题描述】:

我正在尝试加载位于我的 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

能否从应用程序的“文件路径”加载本地文件?

【问题讨论】:

    标签: xml windows-phone-7 load local-files


    【解决方案1】:

    你也可以在你的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);
    

    【讨论】:

      【解决方案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);
      

      【讨论】:

        【解决方案3】:

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

        binding a Linq datasource to a listbox

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多