netframework2.0:.NETFramework中轻松 处理XML数据(五)
疯狂代码 http://CrazyCoder.cn/ :http:/CrazyCoder.cn/XMLJiaoCheng/Article19831.html 设计XmlReadWriter类 如前面所说XMLreader和Writer是各自独立工作:reader只读writer只写假设你应用要管理冗长XML文档且该文 档有不确定数据Reader提供了个很好思路方法去读该文档内容另方面Writer是个非常有用用于创建XML文档片 断工具但是如果你想要它即能读又能写那么你就要用XMLDOM了如果实际XML文档非常庞大又会出现了个问 题什么问题呢 是不是把这个XML文档全部加载到内存中然后进行读和写呢 让我们先看下如何样建立个混合 流分析器用于分析大型XMLDOM 像般只读操作样用普通XMLreader去顺序访问节点区别是在读同时你可以用XMLwriter改变属性值以及节点内 容你用reader去读源文件中每个节点后台writer创建该节点个拷贝在这个拷贝中你可以增加些新节点忽略或者 编辑其它些节点还可以编辑属性值当你完成修改后你就用新文档替换旧文档 个简单有效办法是从只读流中拷贝节点对象到write流中这种思路方法可以用XmlTextWriter类中两个思路方法 :WriteAttributes思路方法和WriteNode思路方法WriteAttributes思路方法读取当前reader中选中节点所有有 效属性然后把属性当作个单独拷贝到当前输出流中同样WriteNode思路方法用类似思路方法处理除属性节点外 其它类型节点图十所示代码片断演示了如何用上述两个思路方法创建个源XML文档拷贝,有选择修改某些节点 XML树从树根开始被访问但只输出了除属性节点类型以外其它类型节点你可以把Reader和Writer整合在个新类 中设计个新接口使它能读写流及访问属性和节点 Figure10UsingtheWriteNodeMethod XmlTextReaderreader=XmlTextReader(inputFile); XmlTextWriterwriter=XmlTextWriter(outputFile);
//配置reader和writer writer.Formatting=Formatting.Indented; reader.MoveToContent;
//Write根节点 writer.WriteStartElement(reader.LocalName);
//Readandoutputeveryothernode i=0; while(reader.Read) { (i%2) writer.WriteNode(reader,false); i; }
//Cloheroot writer.WriteEndElement;
//Closereaderandwriter writer.Close;
reader.Close; 我XmlTextReadWriter类并没有从XmlReader或者XmlWriter类中继承取而代的是另外两个类个是基于只读流 (stream)操作类,另个是基于只写流操作类XmlTextReadWriter类思路方法用Reader对象读数据写入到 Writer对象为了适应区别需求内部Reader和Writer对象分别通过只读Reader和Writer属性公开图十列出了该类 些思路方法: Figure11XmlTextReadWriterClassMethods Method Description AddAttributeChange Cachesalltheinformationneededtoperformachangeonanodeattribute.Allthechangescachedthroughthis methodareprocessedduringasuccessivecalltoWriteAttributes. Read SimplewrapperaroundtheernalreadersReadmethod. WriteAttributes SpecializedversionofthewritersWriteAttributesmethod,writesoutalltheattributesforthegivennode,takin goaccountallthechangescachedthroughtheAddAttributeChangemethod. WriteEndDocument Terminatesthecurrentdocumenthewriterandclosesboththereaderandthewriter. WriteStartDocument PreparestheernalwritertooutputthedocumentandaddadefaultcommenttextandthestandardXMLprolog.
- c#源代码下载 > netframework20:NETFramework中轻松
-
netframework20:NETFramework中轻松
下载该文档 文档格式:PDF 更新时间:2009-11-03 下载次数:0 点击次数:4
文档基本属性 文档语言: 文档格式: pdf 文档作者: 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
-
PDF格式下载
- 更多文档...
-
上一篇:驱动开程序发安装
下一篇:编程人员往往喜欢精益求精
点击查看更多关于c#源代码下载的相关文档
- 您可能感兴趣的
- 源代码迅雷高清下载 源代码下载 源代码高清dvd下载 电影源代码下载 源代码下载地址 flash源代码下载 源代码dvd下载 源代码迅雷下载 java源代码下载
- 大家在找
-
- · 玄武冒险岛开不了
- · 国色天香第2部
- · cad房屋建筑设计图
- · www.my5156.com
- · sox是什么
- · 电厂触电急救常识
- · 清洁生产导论ppt
- · 重庆市文广局
- · unix操作系统怎么操作
- · 带式输送机传动装置设计
- · 红外报警器说明书
- · 阻抗变换器设计
- · 数据库笔试题
- · 极限与配合教案
- · 英语公开课
- · 2010莆田中考物理
- · 化产车间硫铵工段考试
- · 2012年全国特警招考
- · 2008—2009学年度全市中小学幼儿园先进班集体
- · 过程检测及仪表课件
- · 潜孔垂水井技术
- · 如何防范护理差错
- · tf卡芯片检测
- · 书本回收公司
- · 罪恶王冠op
- · c语言设计课后答案
- · cba20102011
- · 课件ppt制作方法
- · 架子鼓多少钱
- · 金属钒的力学性能
- 赞助商链接