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技术专栏
DogYun是一家2019年成立的国人主机商,提供VPS和独立服务器租用等,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等,其中VPS包括常规VPS(经典云)和按小时计费VPS(动态云),使用自行开发的面板和管理系统,支持自定义配置,动态云各个硬件独立按小时计费,带宽按照用户使用量计费(不使用不计费)或者购买流量包,线路也可以自行切换。目前商家发布了6.18促销方案,新购动态云7折,经...
hostsailor怎么样?hostsailor成立多年,是一家罗马尼亚主机商家,机房就设在罗马尼亚,具说商家对内容管理的还是比较宽松的,商家提供虚拟主机、VPS及独立服务器,今天收到商家推送的八月优惠,针对所有的产品都有相应的优惠,商家的VPS产品分为KVM和OpenVZ两种架构,OVZ的比较便宜,有这方面需要的朋友可以看看。点击进入:hostsailor商家官方网站HostSailor优惠活动...
官方网站:点击访问月神科技官网优惠码:美国优惠方案:CPU:E5-2696V2,机房:国人热衷的优质 CeraNetworks机房,优惠码:3wuZD43F 【过期时间:5.31,季付年付均可用】活动方案:1、美国机房:洛杉矶CN2-GIA,100%高性能核心:2核CPU内存:2GB硬盘:50GB流量:Unmilited端口:10Mbps架构:KVM折后价:15元/月、150元/年传送:购买链接洛...