У меня работает очень простая служба WCF, которая возвращает следующее (из базового нового проекта) xml:
<ArrayOfSampleItem xmlns="http://schemas.datacontract.org/2004/07/WcfRestService1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<SampleItem>
<Id>1</Id>
<StringValue>Hello</StringValue>
</SampleItem>
</ArrayOfSampleItem>
Затем я использую это в приложении Windows Phone 7. Результат возвращается нормально, но у меня проблемы с анализом XML. Это код, который я использую для обратного вызова после завершения запроса:
XDocument xmlDoc = XDocument.Parse(e.Result);
itemsFetched.ItemsSource = from item in xmlDoc.Descendants("SampleItem")
select new Product()
{
Id = item.Element("Id").Value,
StringValue = item.Element("StringValue").Value
};
Коллекция не заполняется этим, когда я пытаюсь добавить пространство имен:
XNamespace web = "http://schemas.datacontract.org/2004/07/WcfRestService1";
XDocument xmlDoc = XDocument.Parse(e.Result);
itemsFetched.ItemsSource = from item in xmlDoc.Descendants(web + "SampleItem")
Элемент найден, но я получаю пустое исключение при попытке получить значение Id.
Любая помощь будет высоко ценится.