Загрузка локального XML-файла в Windows Phone 7 (WP7)

Я пытаюсь загрузить файл XML, который находится в моем решении Windows Phone 7. Я хотел бы знать, как правильно включить файл в проект, а затем ссылаться на него с помощью кода. Мой текущий код дает мне ошибку

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: компилировать

Можете ли вы загрузить локальный файл из "пути к файлу" приложения?

3 ответа

Вы также можете установить "Build Action" в "Content" в свойствах вашего XML-файла, а затем в коде:

using System.Xml.Linq;

......

XElement appDataXml;

StreamResourceInfo xml = Application.GetResourceStream(new Uri("yourxmlfilename.xml", UriKind.Relative)); 
appDataXml = XElement.Load(xml.Stream);

Вот как можно загрузить файл XML:

Установите "Build action" в "Resource" в свойствах вашего XML-файла, затем в коде:

using System.Xml.Linq;

......

XElement appDataXml;

StreamResourceInfo xml = Application.GetResourceStream(new Uri("/yourprojectname;component/yourxmlfilename.xml", UriKind.Relative)); 
appDataXml = XElement.Load(xml.Stream);

Вот рабочий проект, который я разместил на MSDN, и который выполняет только то, что хранит XML в XAP и загружает его с помощью XDocument/LINQ, связывая результат с ListBox.

привязка источника данных Linq к списку

Другие вопросы по тегам