Silverlight项目笔记7:xml/json数据解析、MVVM下实现多级树形结构TreeView、忽视引用类型导致数据绑定错误、通过流或动态空间加载图片、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题

涉及的内容主要有:

1.xml/json数据解析

2.多级树形结构TreeView

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

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

5.虚拟目录设置

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

7.webclient缓存问题

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请求的数据有缓存,获得的数据不是最新的,用了一个简单粗暴的办法,即在请求地址后面加上随机字符串,相当于每次都重新请求一次,也就不存在缓存的问题了。

时间: 2024-12-19 11:01:27

Silverlight项目笔记7:xml/json数据解析、MVVM下实现多级树形结构TreeView、忽视引用类型导致数据绑定错误、通过流或动态空间加载图片、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题的相关文章

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

这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSerialization. 1.XML解析之NSXMLParser NSXMLParser是iOS原生的XML解析方式,采用SAX方式进行解析,特点是解析的时候从根元素开始,按顺序依次对每一个元素进行解析. 以下图所示XML文档为例进行解析 (1)首先是实例化一个NSXMLParser,设置代理监听解析过

android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存

经常会用到 网络文件 比如查看大图片数据 资源优化的问题,当然用开源的项目  Android-Universal-Image-Loader  或者 ignition 都是个很好的选择. 在这里把原来 写过的优化的代码直接拿出来,经过测试千张图片效果还是不错的. 免费培训课:http://www.jinhusns.com/Products/Curriculum/?type=xcj 工程目录 至于 Activity 就是加载了 1个网格布局 01./** 02.*   实现 异步加载 和   2级缓

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

除了XML和Json,文中还涉及到的一些知识:第三方类库的使用,获取本地文件内容,网站API使用,GCD多线程编程,不做详细介绍,在代码出现的地方会注明. 先安利一波: Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特定的数据结构,必须对其进行解析,得到我们可以处理的数据.所谓“解析”,就是从事先规定好的格式串中提取数据.解析的前提是数据的提供方

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

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Android学习笔记44:JSON数据解析>中,我们使用基本的JSON API完成了在服务器端创建JSON数据,以及在Android客户端对JSON数据进行解析. 其实,要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使

Json/XML/HTML数据解析

Json数据解析 https://code.google.com/p/google-gson/ 谷歌官方的jjson解析类库Gson http://www.jsonschema2pojo.org/ 该网站能将Json数据解析为POJO(简单的java对象). 1.单个对象 假设json数据如下: { "id": 100, "body": "It is my post", "number": 0.13, "create

Silverlight项目笔记1:UI控件与布局、MVVM、数据绑定、await/async、Linq查询、WCF RIA Services、序列化、委托与事件

最近从技术支持转到开发岗,做Silverlight部分的开发,用的Prism+MVVM,框架由同事搭好,目前做的主要是功能实现,用到了一些东西,侧重于如何使用,总结如下:   1.UI控件与布局     2.MVVM     3.数据绑定     4.await/async     5.Linq查询     6.WCF RIA Services     7.序列化     8.委托与事件 1.UI控件与布局 常用的主要是Grid.StackPanel.Border,其中最常用的的是Grid,是一

iOS之网络数据下载和Json数据解析

iOS之网络数据下载和Json数据解析 简介 在本文中笔者将要给大家介绍iOS中如何利用NSURLConnection从网络上下载数据,如何解析下载下来的JSON数据,以及如何显示数据和图片的异步下载显示 涉及到的知识点: 1.NSURLConnection异步下载封装 2.JSON格式和JSON格式解析 3.数据显示和使用SDWebImage异步显示图片 内容 1.网络下载基础知识介绍 (1)什么是网络应用? 一般情况下, iPhone的计算机, 照相机不需要从网络上下载数据也能运行, 所以这

ios json数据解析

刚刚下午那会 弄了个 解析 xml  demo的小例子,本想着json也挺复杂 弄还是 不弄,但是简单的看了下 发现挺简单,这个时候就犹豫了,要不写到博客上来 ? 考虑了很久,还是写上来吧,毕竟json用得太多了,而且算是自己的积累吧,毕竟刚开始学习IOS开发方面的知识,就当是巩固了撒! 还是 先看个效果图吧,如下! 接下来 看下工程目录吧,其实并没有必要,直接建立一个工程就行 ,算了,还是贴上来吧,如下: 工程目录中有个 Notes.json 文件,该文件就是 要解析的json数据了 ,也截下

【Qt编程】基于Qt的词典开发系列&amp;lt;九&amp;gt;--JSON数据解析

在上一篇文章<用户登录及API调用的实现>中,我通过程序实现了用户登录及API调用的实现.从而能够实现网络查词.添词的操作.可是.从上文中能够看到.调用API后返回的是JSON格式的数据,例如以下图所看到的(在QtCreator中的显示): 为了更好的观察JSON格式.我整理后显演示样例如以下: 显然.为了显示查词的结果,我们必须在上图中提取实用的信息,并正确的显示出来. 上图中每一行内容的意思我已经在文章<调用网络API>中作了解释.我在词典中选择想要显示的内容有:单词本身.单词