C#提高xml读写速度方法

dim domxmldocument as system.xml.xmldocument 
  dim tmppath as string = apptempfilepath 
  dim xmlfile as string = tmppath + "\testxml.xml"  

’窗体加载事件 
  private sub testxml_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load 
  ’读xml过程测试通过 
  dim domxmldocument as system.xml.xmldocument 
  dim tmppath as string = apptempfilepath 
  dim xmlfile as string = tmppath + "\testxml.xml" 
  dim reader as system.xml.xmlreader = nothing 
  try 
  reader = new xml.xmltextreader(xmlfile) 
  ’reader. 
  while reader.read 
  me.lboxxml.items.add(reader.name + reader.value) 
  end while 
  catch ex as exception 
  msgbox(ex.message) 
  finally 
  if not (reader is nothing) then 
  reader.close() 
  end if 
  end try 
  end sub 
  ’载入xml事件 
  private sub btnxmlload_click(byval sender as system.object, byval e as system.eventargs) handles btnxmlload.click 
  ’me.lboxxml.items.clear() 
  ’’读xml过程测试通过 
  ’dim reader as system.xml.xmlreader = nothing 
  ’try 
  ’ reader = new xml.xmltextreader(xmlfile) 
  ’ while reader.read 
  ’ me.lboxxml.items.add(reader.name + ":" + reader.value) 
  ’ end while 
  ’catch ex as exception 
  ’ msgbox(ex.message) 
  ’finally 
  ’ if not (reader is nothing) then 
  ’ reader.close() 
  ’ end if 
  ’end try 
  dim ds as new dataset 
  try 
  ’如果直接使用ds做datasource则不会展开datagrid,用dv则能直接显示正确。 
  ds.readxml(xmlfile) 
  dim tb as datatable 
  dim dv as dataview 
  tb = ds.tables(0) 
  dv = new dataview(tb) 
  datagrid1.datasource = dv 
  ’datagrid1.datamember = "testxmlmember" 
  ’datagrid1.datamember = "employeefname" 
  ’dim dxd as new xmldatadocument 
  catch ex as exception 
  msgbox(ex.message.tostring) 
  end try 
  end sub 
  ’保存新建xml内容事件 
  private sub btnsavenew_click(byval sender as system.object, byval e as system.eventargs) handles btnsavenew.click 
  dim mytw as new xmltextwriter(tmppath + "\testxmlwrite.xml", nothing) 
  mytw.writestartdocument() 
  mytw.formatting = formatting.indented 
  mytw.writestartelement("team") 
  mytw.writestartelement("player") 
  mytw.writeattributestring("name", "george zip") 
  mytw.writeattributestring("position", "qb") 
  mytw.writeelementstring("nickname", "zippy") 
  mytw.writeelementstring("jerseynumber", xmlconvert.tostring(7)) 
  mytw.writeendelement() 
  mytw.writeendelement() 
  mytw.writeenddocument() 
  mytw.close() 
  end sub 

文件很大的情况下,可以考虑手动实现数据更新适配器,比如手动实现一个xml节点搜索/更新,这样就不用重写整个xml。
如果程序的i/o不是主要问题,还是用实体类整个的写入更新吧,毕竟数据的完整性是第一位的。

如是文章类的,对该目录建一个xml索引文件来存放文章的编号,url等,用xml的attribute作为标记不同字段,内容页面可以用另外的html或xml页面存放,用linq to xml操作数据,效率不是很差,个人观点。当搜索时候只要查询指定文件名xml或文件类型就可以了。

时间: 2024-08-01 20:38:30

C#提高xml读写速度方法的相关文章

提高XML应用程序中的性能,第1部分

如今,XML 在很多性能关键型场景中扮演着重要角色.虽然很多开发人员都知道如何编写 XML 文档.XML 模式或 DTD,但有些人可能还没有认识到,XML 应用程序的性能取决于构造 XML 文档时所作出的一些决定,以及在解析 XML 文档之前,在解析器上设置了哪些特性. 很多开发人员也知道何时使用 SAX,何时使用 DOM API.通常,如果内存不充裕,而应用程序必须处理较大的文档,或者要在内存中创建自己的表示,那么您最好使用 SAX(而不是 DOM).另一方面,如果应用程序需要随机访问和修改文

php以post形式发送xml的方法

这篇文章主要介绍了php以post形式发送xml的方法,包括了curl与fsockopen两种方法,具有不错的参考价值,需要的朋友可以参考下 本文实例讲述了php以post形式发送xml的方法.分享给大家供大家参考.具体方法如下: 方法一,使用curl: 复制代码 代码如下: $xml_data = ..."; $url = 'http://www.xxxx.com'; $header[] = "Content-type: text/xml";//定义content-type

快速提高网站权重方法三:关键词制胜

大家好,我是虚子雨.前面给大家写过两篇文章<快速提高网站权重方法一:内容捷径><快速提高网站权重方法二:外链王者>,都是介绍快速提高网站权重的,说实话,写这几篇文章我花费了一定的功夫来研究网站权重这一块,也想过做一个系列,想让自己在这个方面更加的系统化,也给大家一个非常完整的概念,希望大家持续关注我的更新. 废话少说,来说说今天我要和大家分享的一些经验,也就是关于快速提高网站权重的第三种方法:关键词制胜.关键词是我们优化的主要方向,无论是从开始选择到具体的优化,都是相当重要的,利用

快速提高网站权重方法四:软文利器

大家好,我是虚子雨.不知不觉间我的这个系列都做了一半了,说实话,对于这个系列我研究的还不够透彻,也有很多没有细化的地方,如果大家对于文章有什么不明白的地方可以找我讨论,我会知无不言,言无不尽.还是给大家介绍一下我前面的三篇文章<快速提高网站权重方法一:内容捷径><快速提高网站权重方法二:外链王者><快速提高网站权重方法三:关键词制胜>,觉得我写的还不错的朋友可以把前面的几篇也看一看. 废话少说,今天我的这篇文章介绍是关于快速提高网站权重的第四点:软文利器.之所以这么钟情

AS3中新的XML处理方法 - E4X

xml 今天我们来看看AS3中新的XML处理方法:E4X,直到现在,ECMA脚本语言规范(ECMA-262)--AscriptScript 3.0的核心基础,并没有提供任何的XML数据处理类或方法.AcriontScript之前的版本(从Flash 5中的ActionScript开始)有一些处理XML数据的类和方法,但是它们并不是基于ECMAScript标准的. 新的ECMA脚本语言规范第4版草稿中定义了一系列新的处理XML数据的类和方法.这些类和方法的集合并命名为E4X("ECMAScript

JavaScript操作XML文件之XML读取方法

 本文实例讲述了JavaScript操作XML文件之XML读取方法.分享给大家供大家参考.具体分析如下: 假设我们现在要读取下面的 info.xml 文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <?xml version="1.0" encoding="gb2312"?> <root> <data id="1"> <name

Python使用minidom读写xml的方法

  本文实例讲述了Python使用minidom读写xml的方法.分享给大家供大家参考.具体分析如下: 一 python提供的xml支持 2种工业标准的xml解析方法-SAX和DOM.SAX(simple API for XML),是基于事件处理的,当XML文档顺序地读入时,每次遇到一个元素会触发相应的事件处理函数来处理.DOM(Document Object Model),通过构建一个树结构来表现整个xml文档,一旦树被构建,可以通过DOM提供了接口来遍历树和提取相应的数据. python还提

Win7系统通过删除不常用的系统组件提高运行速度的方法

Win7系统通过删除不常用的系统组件提高运行速度的方法 1.点击"开始--控制面板--程序和功能",打开与之对应的窗口; 2.点击右侧窗口的"打开或关闭Windows功能"选项,此时系统弹出一个名为"Windows 功能"的窗口,就可看到这里有许多系统组件右边的复选框,都是处于选中状态,也就是这些都是在系统中已经安装的系统组件; 3.根据自己的需求,取消勾选那些用不到的系统组件(如"游戏"."媒体功能".&

php通过正则表达式记取数据来读取xml的方法

 这篇文章主要介绍了php通过正则表达式记取数据来读取xml的方法,实例分析了php正则表达式的技巧及读取XML文件的方法,需要的朋友可以参考下     本文实例讲述了php通过正则表达式记取数据来读取xml的方法.分享给大家供大家参考.具体分析如下: xml源文件如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <?xml version="1.0 encoding="UTF-8"?> <humans> <zhangyin