代码

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;
using System.Linq;
using System.Windows.Shapes;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO.IsolatedStorage;
using System.IO;
using System.Xml.Linq;
using System.Xml;
namespace ServiceFacade
{ public class FResourceCategoryCode
{
readonly string strFileName = "ResourceCategoryCode.xml";
List<FResourceCategoryCodeModel> lfrccs = new List<FResourceCategoryCodeModel>();
/// <summary>
/// 生成XML缓存文件
/// </summary>
public void CreateFile(List<FResourceCategoryCodeModel> lfrccm)
{
try
{
using (IsolatedStorageFile isoStore =
IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream isoStream =
new IsolatedStorageFileStream(strFileName,
FileMode.Create, isoStore))
{
// 根据每个用户存储一个信息
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
// 创建一个XmlWriter.
using (XmlWriter writer = XmlWriter.Create(isoStream, settings))
{
//设置XML的根
writer.WriteStartElement("ResourceCategorys");
foreach (var v in lfrccm)
{
//设置每个元素的根
writer.WriteStartElement("ResourceCategory"); //以下为设置每个元素及值
writer.WriteStartElement("cncCategroyStandard");
writer.WriteString(v.CncCategroyStandard);
writer.WriteEndElement(); writer.WriteStartElement("cnvcCategoryCode");
writer.WriteString(v.CnvcCategoryCode);
writer.WriteEndElement(); writer.WriteStartElement("cnvcCategoryName");
writer.WriteString(v.CnvcCategoryName);
writer.WriteEndElement(); writer.WriteStartElement("cniLevel");
writer.WriteString(Convert.ToString(v.CniLevel));
writer.WriteEndElement(); writer.WriteStartElement("cnvcParentCode");
writer.WriteString(v.CnvcParentCode);
writer.WriteEndElement(); writer.WriteStartElement("cniOrderID");
writer.WriteString(Convert.ToString(v.CniOrderID));
writer.WriteEndElement(); //XML结束标记
writer.WriteEndElement();
}
//XML根结束标记
writer.WriteEndElement();
writer.Flush();
}
}
}
}
catch
{
;
}
} /// <summary>
/// 读取缓存文件
/// </summary>
private void ReadXml()
{
using (IsolatedStorageFile store =
IsolatedStorageFile.GetUserStoreForApplication())
{
//读取文件并把文件转化为StreamReader
StreamReader reader = new StreamReader(store.OpenFile(strFileName,
FileMode.Open, FileAccess.Read));
//把字符串转化为XML
XDocument xmlStory = XDocument.Parse(reader.ReadToEnd());
//利用LINQ TO XML转化为集合
var varDetails = from details in xmlStory.Descendants("ResourceCategory") //只取得节点为ResourceCategory的信息
select new FResourceCategoryCodeModel
{
CncCategroyStandard = (string)details.Element("cncCategroyStandard"),
CnvcCategoryCode = (string)details.Element("cnvcCategoryCode"),
CnvcCategoryName = (string)details.Element("cnvcCategoryName"),
CniLevel = (int)details.Element("cniLevel"),
CniOrderID = (int)details.Element("cniOrderID"),
CnvcParentCode = (string)details.Element("cnvcParentCode")
};
lfrccs = varDetails.ToList<FResourceCategoryCodeModel>();
store.Dispose();
}
} /// <summary>
/// 实体类
/// </summary>
public class FResourceCategoryCodeModel
{
private int _cniCategroyID;
/// <summary>
/// 流水号
/// </summary>
public int CniCategroyID
{
get { return _cniCategroyID; }
set { _cniCategroyID = value; }
}
private string _cncCategroyStandard;
/// <summary>
/// 标准分类编码
/// </summary>
public string CncCategroyStandard
{
get { return _cncCategroyStandard; }
set { _cncCategroyStandard = value; }
}
private string _cnvcCategoryCode;
/// <summary>
/// 资源分类编码
/// </summary>
public string CnvcCategoryCode
{
get { return _cnvcCategoryCode; }
set { _cnvcCategoryCode = value; }
}
private string _cnvcCategoryName;
/// <summary>
/// 资源分类名称
/// </summary>
public string CnvcCategoryName
{
get { return _cnvcCategoryName; }
set { _cnvcCategoryName = value; }
}
private int _cniLevel;
/// <summary>
/// 资源分类层级
/// </summary>
public int CniLevel
{
get { return _cniLevel; }
set { _cniLevel = value; }
}
private string _cnvcParentCode;
/// <summary>
/// 资源分类父级代码
/// </summary>
public string CnvcParentCode
{
get { return _cnvcParentCode; }
set { _cnvcParentCode = value; }
}
private int _cniOrderID;
/// <summary>
/// 排序ID
/// </summary>
public int CniOrderID
{
get { return _cniOrderID; }
set { _cniOrderID = value; }
}
private string _cnvcRemark;
/// <summary>
/// 说明文字
/// </summary>
public string CnvcRemark
{
get { return _cnvcRemark; }
set { _cnvcRemark = value; }
}
}
}
}

然后通过调用方法CreateFile和ReadXml就可以实现了,文件存放的地址是SL的独立空间,在XP系统下的存放地址为C:\Documents and Settings\用户名\Local Settings\Application Data\Microsoft\Silverlight目录下,可以找到很多缓存文件

文章转自:http://www.cnblogs.com/888h/archive/2010/10/20/1856407.html

Silverlight 使用IsolatedStorage新建XML文件,并且用LINQ查询XML的更多相关文章

  1. 如何在web.xml文件中引入其他的xml文件(拆分web.xml)

    转载自:http://www.blogjava.net/jiangjf/archive/2009/04/09/264685.html 最近在做一个Servlet+javaBean的项目,服务器用的是t ...

  2. Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?

    Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构? 解答:可以看与XML文件对应的域模型.

  3. Spring框架找不到 applicationContext.xml文件,可能是由于applicationContext.xml文件的路径没有放在根目录下造成的

    Spring框架找不到 applicationContext.xml文件,可能是由于applicationContext.xml文件的路径没有放在根目录下造成的

  4. Linq学习<五> 运用linq查询Xml

    这节将学习如何用 linq查询xml 一.我们先看看在xml中我们怎么操作 public void xmlWayToQueryXmlFile() { XmlDocument xmldoc = new ...

  5. 使用XML序列化器生成XML文件和利用pull解析XML文件

    首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...

  6. 生成XML文件,通过实体生成XML文件

    实体 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xm ...

  7. Eclipse关闭XML文件验证的方法,解决xml警告

    XML的编写是否符合规范,可以通过XML Schema或DTD进行验证,但有时候电脑本来就很卡,而且XML的某些错误并未导致程序无法运行的情况下,暂时关闭XML的验证也算不错的选择. 如web.xml ...

  8. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  9. mybatis xml 文件中like模糊查询

    1.直接传参法 直接传参法,就是将要查询的关键字keyword,在代码中拼接好要查询的格式,如%keyword%,然后直接作为参数传入mapper.xml的映射文件中. 2.CONCAT()函数 My ...

随机推荐

  1. C++学习10 static静态成员变量和静态成员函数

    一般情况下,如果有N个同类的对象,那么每一个对象都分别有自己的成员变量,不同对象的成员变量各自有值,互不相干.但是有时我们希望有某一个或几个成员变量为所有对象共有,这样可以实现数据共享. 可以使用全局 ...

  2. [Other] 自定义MIME类型支持FLV的相关设置

    刚测试知道为何服务器无法播放flv的原因,特此记录而已. 网络空间支持FLV的相关设置,就是自定义一个MIME类型,一般虚拟主机管理里面都有这个选项 自定义MIME类型 扩展名: .flv MIME类 ...

  3. [ActionScript] AS3利用SWFObject与JS通信

    首先介绍SWFObject的用法: swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flash ...

  4. sap mm_1

    1. /nmm50 扩展视图,看那些视图没有维护的  . 2. mm60 物料清单    查看所建立的物料. 3. se11     ABAP DICTIONARY:Initial Screen 定义 ...

  5. java cmd 命令

    java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完d ...

  6. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

  7. 制作东皇3.2的安装U盘-黑苹果之路

    每次使用硬盘映像安装需要先装windows,制作东皇3.2安装分区,再装bootthink,再通过bootthink加载东皇3.2的分区进行安装,非常繁琐.尝试制作U盘来直接安装东皇3.2.过程如下: ...

  8. cocos2d 3.0自定义事件答疑解惑

    疑惑一:在事件分发中修改订阅者 ,对于这个的理解. 事件的分发是可以嵌套的,cocos2dx使用_inDispatch来保存当前嵌套的深度,当调用第一个dispatchEvent的时候,_inDisp ...

  9. (转)直接拿来用!最火的iOS开源项目(二)

    “每一次的改变总意味着新的开始.”这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x到如今的iOS 7, ...

  10. Appium启动服务报错

    错误信息如下: error: Could not find a device to launch. You requested 'iPhone 6 (8.4)', but the available ...