fulin1029
博客园
|
首页
|
发新随笔
|
发新文章
|
联系
|
订阅
|
管理
随笔:11 文章:0 评论:16 引用:0
通过DataSet读取XML的效率问题
一直以来读取xml都是通过DataSet的ReadXML方法来解决,其他属性也都没有使用。在数据量小的时候倒也相安无事,直到今天读取一个20M的XML流才发现实在太影响效率了。
默认情况下,ReadXML缺省情况下使用XmlReadMode.Auto方式读取,用以前的作法,由于xml文件里没有包含Scheme,DataSet会先推断xml的结构,然后再加载数据。可是对一个20M的流推断其结构效率可想而知。如果XmlReadMode采用的是除Auto和InferSchema(同样根据数据推断结构)之外的成员,那么除了行数会相应增加外,内容都被忽略。
如何解决这个讨厌的问题呢,其实也很简单先给DataSet提供Schema(ReadXmlSchema方法),XmlReadMode设为IgnoreSchema即可。经过测试
处理时间由几分钟提高到几秒
。
示例如下:
1
DataSet ds
=
new
DataSet();
2
using
(StringReader sr
=
new
StringReader( xxx ))
3
{
4
ds.ReadXmlSchema(sr);
5
}
6
ds.Tables[
0
].BeginLoadData();
7
8
9
using
(StringReader sr
=
new
StringReader( xxx ))
10
{
11
ds.ReadXml(sr, XmlReadMode.IgnoreSchema);
12
}
13
ds.Tables[
0
].EndLoadData();
发表于 2005-07-01 18:21
顺治帝
阅读(3187)
评论(9)
编辑
收藏
网摘
评论
1280802
#1楼
不错不错....
嘿嘿,又收获一点^^
#2楼
.NET果然博大精深,在傻瓜中见智慧啊 ^_^
#3楼
试了一下,不行,是不是那个地方错了,XXX代表的是路径吧?
#4楼
xxx是代表路径。
#5楼
有没有人用这个方法成功过,我现在要读取一个20M的XML,急,高手们帮帮忙呀!
#6楼
当然有啦,要不也不会写出来了。
#7楼
,老大,已运行就是这个样子
Data at the root level is invalid. Line 1, position 1.
#8楼
一起研究。。
#9楼
有人试过1G的包吗?还有没有什么办法将xml导到oracle数据库中
刷新评论列表
刷新页面
返回页首
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
184776
链接:
切换模板
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
IBM发布全球首款开源智能编译器
IE颓势不减 微软下月公布最新浏览器架构
竞争日趋激烈 微软欲借 Windows 7 扭转战局
上海电信计划2012年80%用户实现100M带宽
数万名网友签名抗议星际争霸2取消局域网功能
相关链接:
<
2005年7月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
随笔分类
Cuyahoga(2)
(rss)
我是小小程序员(2)
(rss)
随笔档案
2006年5月 (3)
2006年3月 (1)
2005年7月 (1)
2005年1月 (1)
2004年12月 (1)
2004年10月 (2)
2004年9月 (2)
C#
http://blog.joycode.com/moslem/archive/2004/11/02/37805.aspx
C#
最新评论
1. re: 通过DataSet读取XML的效率问题
有人试过1G的包吗?还有没有什么办法将xml导到oracle数据库中
--效率啊
2. re: 通过DataSet读取XML的效率问题
一起研究。。
--汉城
3. re: 由Cuyahoga想到工作流表单设计
这里也有一个,完全符合你的界面要求
1、可以自动生成界面,
2、如果不满意,可以手动修改自动生成的界面
--chegan
4. re: 第一章 hellow word
中国许多著名的软件工程师都是从游戏中引发的兴趣从而追求其中的真谛
--黑A
5. re: 由Cuyahoga想到工作流表单设计
@ξσ Dicky σξ
这个做得真漂亮啊。。。
--ChuPaChuPs
阅读排行榜
1. 通过DataSet读取XML的效率问题(3187)
2. 由Cuyahoga想到工作流表单设计(1768)
3. infopath(1167)
4. 智能表单(711)
5. 表单(569)
评论排行榜
1. 通过DataSet读取XML的效率问题(9)
2. 由Cuyahoga想到工作流表单设计(4)
3. 第一章 hellow word(1)
4. 表单(1)
5. 这2天看了不少关于dotnet方面关于测试的东东,头有点晕。(0)