最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實現(xiàn)提高xml讀寫速度的方法

 更新時間:2014年11月03日 09:25:52   投稿:shichen2014  
這篇文章主要介紹了C#實現(xiàn)提高xml讀寫速度的方法,并且針對各類文件的讀寫做了較為細(xì)致的分析,非常實用,需要的朋友可以參考下

本文實例講述了C#實現(xiàn)提高xml讀寫速度的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

復(fù)制代碼 代碼如下:
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內(nèi)容事件 
  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

文件很大的情況下,可以考慮手動實現(xiàn)數(shù)據(jù)更新適配器,比如手動實現(xiàn)一個xml節(jié)點搜索/更新,這樣就不用重寫整個xml。
如果程序的i/o不是主要問題,還是用實體類整個的寫入更新吧,畢竟數(shù)據(jù)的完整性是第一位的。
如是文章類的,對該目錄建一個xml索引文件來存放文章的編號,url等,用xml的attribute作為標(biāo)記不同字段,內(nèi)容頁面可以用另外的html或xml頁面存放,用linq to xml操作數(shù)據(jù),效率不是很差,個人觀點。當(dāng)搜索時候只要查詢指定文件名xml或文件類型就可以了。

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

最新評論

宝鸡市| 微博| 偃师市| 甘泉县| 庆安县| 克东县| 三门县| 陵川县| 卢氏县| 克拉玛依市| 阳春市| 诸城市| 阳泉市| 嘉义县| 策勒县| 芒康县| 招远市| 汽车| 宁阳县| 马关县| 苍溪县| 宜兴市| 灵寿县| 淅川县| 崇文区| 屏边| 梅州市| 天台县| 揭西县| 晋中市| 双流县| 山阳县| 昌邑市| 天柱县| 门源| 潍坊市| 阿拉善右旗| 甘孜| 扶余县| 固镇县| 灵川县|