首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析来自WCF WebHttp服务的结果

解析来自WCF WebHttp服务的结果
EN

Stack Overflow用户
提问于 2011-05-10 23:27:55
回答 1查看 532关注 0票数 0

我有一个非常简单的WCF服务运行,它返回以下(从一个基本的新项目) xml:

代码语言:javascript
复制
  <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 phone7应用程序中使用它。结果返回得很好,但是我在解析xml时遇到了问题。这是我在完成请求后在回调中使用的代码:

代码语言:javascript
复制
        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
                                              };

当我尝试添加命名空间时,该集合未填充此内容:

代码语言:javascript
复制
        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值时,我得到了一个空异常。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-11 00:38:44

xmlns="..."将元素及其所有子元素放在名称空间中,因此您需要在访问元素的任何地方使用XNamespace object web

代码语言:javascript
复制
XDocument xmlDoc = XDocument.Parse(e.Result);
XNamespace web = "http://schemas.datacontract.org/2004/07/WcfRestService1";

itemsFetched.ItemsSource = from item in xmlDoc.Descendants(web + "SampleItem")
                           select new Product()
                                              {
                                                  Id = item.Element(web + "Id").Value,
                                                  StringValue = item.Element(web + "StringValue").Value
                                              };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5952502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档