猿问

如何像SQL Server数据库一样操作XML呢?

在c#中操作XML,一般我们对XML搜索或者读写的时候都要先对整个XML文档读出或者载入到内存,放入到数据集然后再进行查询,读写等操作,要是碰到XML数据量很大的时候效率就不高了,而MSSQL数据库不是这样,我们可以对数据库先进行查询,找出我们感兴趣的记录,然后把查询的结果放入数据集,这样可以很大程度上减少内存的占用。

那么请问如何才能做到像MSSQL一样对XML先查询再把查询结果放入数据集呢?

如果描述有错,请指正,谢谢!


白猪掌柜的
浏览 545回答 2
2回答

胡子哥哥

没有办法只载入一部分数据,因为SQL Server有服务器本身在支持,所以不需要让程序加载所有数据,但是XML没有一个“Server”,所以只能是全部加载到程序里不过,想利用查询句法的话,倒是可以使用LINQ,可以实现基本相似的功能,这个应该可以处理你那个:“放入到数据集然后再进行查询,读写等操作”。因为只需要把XML文档加载进来,然后就可以直接像使用数据库一样使用LINQ对XML进行查询等操作,不通过数据集

紫衣仙女

这好像就是XML数据源的弱点吧,XML的数据量很大时,处理起来也比较耗时
随时随地看视频慕课网APP
我要回答