WEB开发网
开发学院图形图像Flash 数据点:从 Silverlight 2 观望云服务 阅读

数据点:从 Silverlight 2 观望云服务

 2008-12-01 11:52:10 来源:WEB开发网   
核心提示: 从 WebClient 调用返回的数据是原始的 XML,稍后可对该数据进行解析或查询,数据点:从 Silverlight 2 观望云服务(7),如果 REST 服务带有参数,则它们可以作为查询字符串的一部分传递,然后,可以使用 LINQ to XML 查询该 XML,如何查询 XML?当调

从 WebClient 调用返回的数据是原始的 XML,稍后可对该数据进行解析或查询。如果 REST 服务带有参数,则它们可以作为查询字符串的一部分传递。

如何查询 XML?

当调用基于 REST 或 POX 的服务时,它将返回 XML 形式的数据(REST 服务还可返回 JSON 形式的数据)。随后可以使用许多 XML 解析库对该 XML 进行解析。但也可以使用 LINQ to XML 查询 XML,这种方法提供了更为丰富的查询接口,可以在无需借助于迭代整个复杂的 XML 层次关系的情况下从 XML 结构中提取数据。

您刚才所见示例中的 REST 服务从 Digg 服务中返回显示最新文章的原始 XML。随后可以使用 XML 库解析该 XML,或者使用 LINQ to XML 对其进行查询,如图 4 所示。XDocument 类的 Parse 方法可以使用从前面所示的 REST 服务中得到的 XML。然后,可以使用 LINQ to XML 查询该 XML。图 4 中所示的代码显示了用于查询图 5 中所示 XML 的 LINQ to XML 语法。

数据点:从 Silverlight 2 观望云服务图 4 查询 Digg 数据的 LINQ to XML

XDocument xml = XDocument.Parse(rawXml);
var storiesQuery = from story in xml.Descendants("story")
 select new DiggStory
  {
    Id = (int)story.Attribute("id"),
    Title = ((string)story.Element("title")).Trim(),
    Description = ((string)story.Element("description")).Trim(),
    ThumbNail =
     (story.Element("thumbnail") == null
       ? string.Empty
       : story.Element("thumbnail").Attribute("src").Value),
    Link = new Uri((string)story.Attribute("link")),
    DiggCount = (int)story.Attribute("diggs")
  };

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:数据 Silverlight 观望

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接