数据点:从 Silverlight 2 观望云服务
2008-12-01 11:52:10 来源:WEB开发网该查询从 stories/story 层次开始,并查询所有文章元素。虽然没有为该 XML 指定命名空间,但我保留了命名空间变量 (ns) 以便说明在结果需要引用命名空间的情况下如何为所有 XML 路径添加前缀。操作文章元素的工作通过使用 XDocument 实例的 Descendants 方法完成。文章元素的属性可以使用文章变量及其 Element 方法检索。例如,下面的代码行从文章元素中获取标题元素的值,并将其赋给名为 Title 的属性:
Title = ((string)story.Element("title")).Trim()
LINQ to XML 查询可以通过反射或类结构返回结果。图 4 中所示的代码创建了 DiggStory 类,以便存储从 XML 数据中检索到的每个状态元素的结果。为简单起见,开发人员定义的 DiggStory 类中所有的属性都被定义为字符串。如果需要,LINQ to XML 还可以包含类似排序或筛选标准之类的其它条件。
通过使用 LINQ to XML 查询和解析来自 REST 或 POX 服务的 XML 数据,开发人员能够充分利用其在 LINQ 方面的其他知识,因为各种形式之间的语法非常相似。或许使用 LINQ to XML 解析数据的最大优势在于强大的数据查询功能和简便性,因为无需在嵌套的 foreach 循环中迭代所有元素。
当访问第三方 Web 服务时,是否需要担心跨域策略?
当 Silverlight 2 应用程序调用 Web 服务时,会在 Web 服务所在的服务器检查跨域策略文件,从而排除该调用。当 Silverlight 应用程序与 Web 服务处于不同的域时需要完成此检查。例如,图 6 中显示位于 Web 服务器 johnpapa.net 的 Silverlight 2 应用程序可以调用同样处于 johnpapa.net 域中的 Web 服务,因为它们位于相同的域。但如果处于 johnpapa.net 域中的 Silverlight 2 客户端想要调用处于 microsoft.com 域中的 Web 服务,则 Silverlight 2 将会进行检查以确保 microsoft.com 中存在跨域策略文件且允许此类调用。
Tags:数据 Silverlight 观望
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接