数据点:从 Silverlight 2 观望云服务
2008-12-01 11:52:10 来源:WEB开发网从 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 语法。
图 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")
};
Tags:数据 Silverlight 观望
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接