事件C 提高xml读写速方法

c xml  时间:2021-02-14  阅读:()

dim domxmldocument as system.xml .xmldocumentdim tmppath as string=apptempfi lepathdim xmlfi le as string=tmppath+" \testxml .xml"

'窗体加载事件private sub testxml_load(byval sender as system.object, byval e as system.eventargs)handlesmybase. load

'读xm l过程测试通过dim domxmldocument as system.xml .xmldocumentdim tmppath as string=apptempfi lepathdim xmlfi le as string=tmppath+" \testxml .xml"dim reader as system.xml .xmlreader=nothingt ryreader=new xml .xmltextreader(xmlfi le)

'reader.whi le reader.readme. lboxxml . items.add(reader.name+reader.value)end whi lecatch ex as exceptionmsgbox(ex.message)final lyif not (reader is nothing) thenreader.close()end ifend tryend sub

'载入xm l事件private sub btnxml load_cl ick(byval sender as system.object, byval e as system.eventargs)handles btnxml load.cl ick

'me. lboxxml . items.clear()

' '读xm l过程测试通过

'dim reader as system.xml .xmlreader=nothing

't ry

' reader=new xml .xmltextreader(xmlfi le)

'whi le reader.read

'me. lboxxml . items.add(reader.name+":"+reader.value)

'end whi le

'catch ex as exception

'msgbox(ex.message)

'final ly

' if not (reader is nothing) then

'reader.close()

'end ifend trydim ds as new dataset

t ry

'如果直接使用ds做datasource则不会展开datagrid用dv则能直接显示正确。ds.readxml(xmlfi le)dim tb as datatabledim dv as dataviewtb=ds.tables(0)dv=new dataview(tb)datagrid1 .datasource=dv

'datagrid1 .datamember="testxmlmember"

'datagrid1 .datamember="employeefname"

'dim dxd as new xmldatadocumentcatch ex as exceptionmsgbox(ex.message.tostring)end tryend sub

'保存新建xm l内容事件private sub btnsavenew_cl ick(byval sender as system.object, byval e as system.eventargs)handles btnsavenew.cl ickdim mytw as new xmltextwriter(tmppath+" \ testxmlwrite.xml", nothing)mytw.writestartdocument()mytw.formatting=formatting. i ndentedmytw.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页面存放用l inq to xml操作数据效率不是很差个人观点。当搜索时候只要查询指定文件名 xml或文件类型就可以了。

更多信息请查看IT技术专栏

bgpto:日本独立服务器6.5折($120起),新加坡独立服务器7.5折($93起)

bgp.to在对日本东京的独立服务器进行6.5折终身优惠促销,低至$120/月;对新加坡独立服务器进行7.5折终身优惠促销,低至$93/月。所有服务器都是直连国内,速度上面相比欧洲、美国有明显的优势,特别适合建站、远程办公等多种用途。官方网站:https://www.bgp.to/dedicated.html主打日本(东京、大阪)、新加坡、香港(CN)、洛杉矶(US)的服务器业务!日本服务器CPU...

妮妮云,美国cera CN2线路,VPS享3折优惠

近期联通CUVIP的线路(AS4837线路)非常火热,妮妮云也推出了这类线路的套餐以及优惠,目前到国内优质线路排行大致如下:电信CN2 GIA>联通AS9929>联通AS4837>电信CN2 GT>普通线路,AS4837线路比起前两的优势就是带宽比较大,相对便宜一些,所以大家才能看到这个线路的带宽都非常高。妮妮云互联目前云服务器开放抽奖活动,每天开通前10台享3折优惠,另外...

racknerd:美国大硬盘服务器(双路e5-2640v2/64g内存/256gSSD+160T SAS)$389/月

racknerd在促销美国洛杉矶multacom数据中心的一款大硬盘服务器,用来做存储、数据备份等是非常划算的,而且线路还是针对亚洲有特别优化处理的。双路e5+64G内存,配一个256G的SSD做系统盘,160T SAS做数据盘,200T流量每个月,1Gbps带宽,5个IPv4,这一切才389美元...洛杉矶大硬盘服务器CPU:2 * e5-2640v2内存:64G(可扩展至128G,+$64)硬...

c xml为你推荐
找不到光驱找不到光驱,光盘,怎么办bbsxp怎么用 CUTEFTP上传BBSXP到FTP服务器神雕侠侣礼包大全神雕侠侣手游每天送的元宝买什么合适保护气球什么气球可以骑?创维云电视功能创维云电视是指什么ejb开发什么是EJB?宕机宕机是什么意思?网络广告投放网络广告投放有哪些技巧?电子商务网站模板做电子商务网站用什么cms或者模版比较好?中国杀毒软件排行榜谁知道世界杀毒软件排名?
虚拟主机是什么 tk域名注册 vps是什么意思 域名备案批量查询 新通用顶级域名 132邮箱 zpanel simcentric bluehost rackspace kddi 紫田 paypal认证 新站长网 南昌服务器托管 警告本网站美国保护 京东商城0元抢购 域名评估 息壤代理 metalink 更多