Возврат данных XML из Root на телефоне Windows 7 - PullRequest
0 голосов
/ 17 сентября 2011

У меня возникают проблемы при попытке вернуть значения из файла XML. Вот пример XML:

<xml>
  <item1>Whatever</item1>
  <video>
    <caption>Video Title</caption>
    <width>1280</width>
    <height>720</height>
  </video>
  <element1>Results One</element1>
  <element2>Results Two</element2>
</xml>

Я называю данные так:

 XElement xmlData = XElement.Parse(e.Result);
 var list = new List<VideoUrl>();
 foreach (XElement item in xmlData.Elements("xml"))
 {
 var element1 = item.Element("element1").Value;
 var element2 = item.Element("element2").Value;

 list.Add(new VideoUrl
 {
    etc...
 });

и затем присвоение данных списку для возврата значений. Проблема в том, что я пытаюсь вернуть элементы XML "element1" и "element2", но при запуске эмулятора ничего не возвращается. Если я изменю код для возврата Video> Caption, он будет работать нормально. Я чувствую, что это что-то очень простое, что мне не хватает. Любые идеи или примеры кода, чтобы исправить это будет высоко ценится. Спасибо заранее.

1 Ответ

0 голосов
/ 17 сентября 2011

xmlData - это элемент <xml>, поэтому xmlData.Elements("xml") не вернет никаких значений - нет элементов xml напрямую в xmlData.Учитывая, что это корень, вы знаете, что есть только один узел, поэтому вы можете просто сделать:

var element1 = (string) xmlData.Element("element1");
var element2 = (string) xmlData.Element("element2");

Обратите внимание, что, приведя к string вместо использования свойства Value, вы получитепустая ссылка, если элемент не существует, вместо генерируемого исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...