1.xml/json数据解析

(1)xml数据解析

使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应节点的数据集合,再通过Element这个方法对数据集合进行筛选,获得指定数据。

      

参考: http://msdn.microsoft.com/zh-cn/library/system.xml.linq.xdocument(v=vs.110).aspx

(2)json数据解析

silverlight里可以直接将获取的json数据转化为JsonObject。

要获得每一个节点数据集合中子节点的数据,只需要将父节点数据转化为JsonObject进行筛选即可。

2.MVVM下实现多级树形结构TreeView

通过使用HierarchicalDataTemplate这种数据模板实现,MVVM下使用,设计好数据绑定集合中的子类即可

主要是绑定的数据集合中增加了一个对应子节点的数据源集合,

这里根节点没有从数据库中取,直接在代码中指定了名称为“组织机构树”的根节点,

需要注意的是从数据库中读取的数据是由父节点、子节点对应关系,有了从属关系才能知道节点间如何对应。

参考:http://www.cnblogs.com/lxblog/archive/2012/10/24/2737876.html

http://www.cnblogs.com/prolove2/archive/2012/06/22/2558405.html

http://www.cnblogs.com/lukun/archive/2011/04/14/2015747.html

http://www.codeproject.com/Articles/26288/Simplifying-the-WPF-TreeView-by-Using-the-ViewMode

3.忽视引用类型导致数据绑定错误

应用场景:两个下拉选择框,第一个下拉框选择的内容变化,第二个下拉框显示的数据随之变化,实际上就是绑定了两个comobox的数据集合,这两个集合之间有对应关系。易错点:根据第一个下拉框选择项selectItem的值,每次都重新实例化第二个下拉框的绑定集合并赋值,这时第二个下拉框里的显示是错误的或者没有数据显示。原因是:绑定实际上是一个引用类型传值的过程,重新实例化绑定集合后,对应的绑定数据集合的内存地址已经发生变化,自然就找不到数据源了。

4.通过流或动态空间加载图片

两种方式都已经获得空间信息,可以加载到地图上。

通过流的方式,即通过服务器图片地址直接下载图片到客户端再加载的方式

通过动态空间技术加载

动态空间介绍:http://tm.arcgisonline.cn/2011/1209/386.html

5.虚拟目录设置

应场景,两台服务器A、B,客户端可以访问A,不能访问B,服务器A与B之间可以互相访问,现在客户端需要从服务器B下载数据,如何解决呢?通过在服务器A中设置虚拟目录指向服务器B,客户端通过服务器A来获得服务器B中的数据即可。

参考:

IIS中设置虚拟目录http://jingyan.baidu.com/article/67508eb4dfc1e69ccb1ce44b.html

Tomcat中设置虚拟目录http://blog.csdn.net/songuooo/article/details/8455298

6.silverlight安全机制引发的问题

silverlight发布后程序,在浏览器打开运行时,是在沙盒中运行,也就是不能访问客户端所在机器的资源,例如会出现全屏时输入框(TextBlock)不能输入、以及选择文件上传时提示SecurityException(在本地调试不会出现问题,发布后使用才出现)

全屏状态输入框不能输入,试过Out-of-Browser的设置,依然无效,目前只能使用浏览器全屏模式来达到全屏效果。

选择文件上传时提示SecurityException,需要注意不要使用类似IO之类的东西,因为默认是没有访问客户端所在计算机数据的权限,只有做类似打开文件选择窗口的操作,即使用OpenFileDialog里的属性、方法才行,OpenFileDialog就相当于用户进行了授权信任操作,允许访问计算机资源。

7.WebClient缓存问题

应用场景,需要修改服务器上的数据并更新,但是WebClient请求的数据有缓存,获得的数据不是最新的,用了一个简单粗暴的办法,即在请求地址后面加上随机字符串,相当于每次都重新请求一次,也就不存在缓存的问题了。

Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题的更多相关文章

  1. iOS开发笔记3:XML/JSON数据解析

    这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...

  2. 关于iOS中几种第三方对XML/JSON数据解析的使用

    Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特 ...

  3. iOS开发——XML/JSON数据解析

    NSJSONSerialization 接下来就正式开始.苹果官方给出的解析方式是性能最优越的,虽然用起来稍显复杂. 首先我们在上面已经有了我希望得到的信息的网站的API给我们的URL,在OC中,我要 ...

  4. 吴裕雄--天生自然python学习笔记:Python3 JSON 数据解析

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进 ...

  5. Java XML JSON 数据解析

    下面我们通过一段代码了解一下解析JSON格式数据的基本过程: 提示:使用JSON需要导入 JSON 相关的多个Jar文件 import net.sf.json.JSONObject; public c ...

  6. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  7. JSON数据解析(GSON方式) (转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...

  8. Android图片加载框架最全解析(三),深入探究Glide的缓存机制

    在本系列的上一篇文章中,我带着大家一起阅读了一遍Glide的源码,初步了解了这个强大的图片加载框架的基本执行流程. 不过,上一篇文章只能说是比较粗略地阅读了Glide整个执行流程方面的源码,搞明白了G ...

  9. iOS学习笔记(十一)——JSON数据解析

    在之前的<iOS学习——xml数据解析(九)>介绍了xml数据解析,这一篇简单介绍一下Json数据解析.JSON 即 JavaScript Object Natation,它是一种轻量级的 ...

随机推荐

  1. [Tango] Basic Knowledge

    Project Tango类设备能够给开发者在哪些领域带来机会. 室内导航*:室内GPS信号的缺失,使得Project Tango设备会成为室内导航重要应用场景之一.有了它,你就不会在不熟悉的室内商场 ...

  2. jQuery--捕获键盘敲击

    功能 当页面加载完成​后,用户键盘按下某个键后,jQuery能够捕获到一个数字,从而执行一系列动作. 格式 1 2 3 4 5 6 7 8 9 10 11 12 $(function(){     $ ...

  3. SQL Server技术问题之存储过程与sql语句的优缺点

    优点: 1. 允许模块化程序设计.2.可维护性高,只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储过程可独立于程序源代码而单独修改,而不需要更改.测试以及重新部署程序集 ...

  4. [课程设计]Scrum日记本项目进度

    Sprint 1时间:11.14-11.23 冲刺一这一阶段中主要实现的是界面和互交(已实现这两个功能) 燃尽图: 项目进度: 第一阶段:现阶段已经实现界面和互交. 第二阶段:进行填入信息,并记录日期 ...

  5. 2016年5月11日摘自知乎的一些Redis大概了解

    1. 知乎日报的基础数据和统计信息是用 Redis 存储的,这使得请求的平均响应时间能在 10ms 以下.其他数据仍然需要存放在另外的地方,其实完全用 Redis 也是可行的,主要的考量是内存占用.就 ...

  6. 如何弹出一定的大小的web窗体?

    如何弹出一定的大小的web窗体?  摘自: http://blog.163.com/hweibin126@126/blog/static/17044246920108413348344/ 一.wind ...

  7. 以对象的方式来访问xml数据表(三)

    怎样以对象的方式来访问xml数据表? 在讲如何具体实现(二)中所说的专门用于访问xml文件的动态链接库之前,我们先来看看这个动态链接库具体要实现什么功能. 动态链接库IXmlDB.dll的功能: 1. ...

  8. 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector

    [源码下载] 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector 作者:webabcd 介绍与众不同 windows phone 8.0 之 新的 ...

  9. ActiveReports 报表控件官方中文入门教程 (1)-安装、激活以及产品资源

    本系列文章主要是面向初次接触 ActiveReports 产品的用户,可以帮助您在三天之内轻松的掌握ActiveReports控件的基本使用方法,包括安装.激活.创建报表.绑定数据源以及发布等内容.本 ...

  10. EntityFramework left join

       var result = from u in db.Order                              join n in db.Equipment on u.OrderId  ...