Загрузка локального XML-файла в Windows Phone 7 (WP7) - PullRequest
1 голос
/ 10 декабря 2010

Я пытаюсь загрузить файл 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: Compile

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

Ответы [ 3 ]

3 голосов
/ 21 декабря 2010

Вы также можете установить «Действие сборки» на «Содержимое» в свойствах вашего XML-файла, а затем в коде:

using System.Xml.Linq;

......

XElement appDataXml;

StreamResourceInfo xml = Application.GetResourceStream(new Uri("yourxmlfilename.xml", UriKind.Relative)); 
appDataXml = XElement.Load(xml.Stream);
2 голосов
/ 10 декабря 2010

Вот как загрузить файл 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);
0 голосов
/ 10 декабря 2010

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

, связывая источник данных Linq сListBox

...