首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
lua
dagger
int
datetime
range
ip
string
iostream
blob
chat
cpython
future
testing
cPlusPlus
import
express
dll
tags
sum
bash
instance
audio
js
grid
join
eval
settings
web
perl
object
vbscript
nodejs
input
erlang
md5
timestamp
require
php
cmd
function
text
const
uml
hashcode
list
get
format
python2
c语言
default
emoji
subset
java
less
loops
char
dockerfile
copy
php7
jsp
jar
数组
plugins
export
cSharp
include
actionscrip
bit
hashtable
uri
httprequest
runtime
heap
fetch
io
cookie
php8
metadata
email
当前位置:
开发笔记
>
编程语言
> 正文
通过DataSet读取XML的效率问题
作者:入贝_272 | 来源:互联网 | 2023-07-21 14:21
一直以来读取xml都是通过DataSet的ReadXML方法来解决,其他属性也都没有使用。在数据量小的时候倒也相安无事,直到今天读取一个20M的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();
xml
文件
scheme
schema
string
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
instance
自定义 Android 圆形进度条视图,支持显示数字和中心文字
本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ...
[详细]
蜡笔小新 2024-11-10 13:04:42
js
Hibernate实战笔记14:深入解析反向工程技术
在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ...
[详细]
蜡笔小新 2024-11-04 18:29:37
web
利用Java实现WebSocket实时消息推送技术
本文探讨了利用Java实现WebSocket实时消息推送技术的方法。与传统的轮询、长连接或短连接等方案相比,WebSocket提供了一种更为高效和低延迟的双向通信机制。通过建立持久连接,服务器能够主动向客户端推送数据,从而实现真正的实时消息传递。此外,本文还介绍了WebSocket在实际应用中的优势和应用场景,并提供了详细的实现步骤和技术细节。 ...
[详细]
蜡笔小新 2024-11-04 15:50:18
object
尝试对从复杂 XSD 生成的类进行序列化时出现 NullReferenceException 错误
在尝试对从复杂 XSD 生成的类进行序列化时,遇到了 `NullReferenceException` 错误。尽管已经花费了数小时进行调试和搜索相关资料,但仍然无法找到问题的根源。希望社区能够提供一些指导和建议,帮助解决这一难题。 ...
[详细]
蜡笔小新 2024-11-02 17:25:38
object
如何在Java中高效构建WebService
本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ...
[详细]
蜡笔小新 2024-10-30 20:46:43
object
深入解析Properties属性类及其应用
属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ...
[详细]
蜡笔小新 2024-11-11 13:55:43
object
DVWA学习笔记系列:深入理解CSRF攻击机制
DVWA学习笔记系列:深入理解CSRF攻击机制 ...
[详细]
蜡笔小新 2024-11-11 13:19:51
string
Android TextView:实现多彩文字与多样化字体效果
在探讨如何在Android的TextView中实现多彩文字与多样化字体效果时,本文提供了一种不依赖HTML技术的解决方案。通过使用SpannableString和相关的Span类,开发者可以轻松地为文本添加丰富的样式和颜色,从而提升用户体验。文章详细介绍了实现过程中的关键步骤和技术细节,帮助开发者快速掌握这一技巧。 ...
[详细]
蜡笔小新 2024-11-10 15:37:21
js
利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ...
[详细]
蜡笔小新 2024-11-09 09:05:16
web
基于CXF框架的Web服务开发详细示例
在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ...
[详细]
蜡笔小新 2024-11-08 18:43:17
int
利用“轻松传送”功能在两台电脑间同步数据的Windows 7实用技巧
在更换电脑或重装系统时,用户经常需要处理诸如备份收藏夹、电子邮件、用户配置文件和常用文档等任务。尽管这些操作并不复杂,但却相当繁琐。本文介绍了一种利用Windows 7中的“轻松传送”功能,高效便捷地在两台电脑之间同步数据的方法,大大简化了这一过程。 ...
[详细]
蜡笔小新 2024-11-08 17:26:04
join
Spring框架中的面向切面编程(AOP)技术详解
面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ...
[详细]
蜡笔小新 2024-11-04 17:23:10
web
Spring框架入门指南:专为新手打造的详细学习笔记
Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ...
[详细]
蜡笔小新 2024-10-31 13:26:04
import
Android动态滚动文本显示控件优化实现
本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ...
[详细]
蜡笔小新 2024-10-31 13:18:50
object
C#编程指南:实现列表与WPF数据网格的高效绑定方法
C#编程指南:实现列表与WPF数据网格的高效绑定方法 ...
[详细]
蜡笔小新 2024-10-31 10:46:47
入贝_272
这个家伙很懒,什么也没留下!
Tags | 热门标签
lua
dagger
int
datetime
range
ip
string
iostream
blob
chat
cpython
future
testing
cPlusPlus
import
express
dll
tags
sum
bash
instance
audio
js
grid
join
eval
settings
web
perl
object
RankList | 热门文章
1
ZeroMQ在云计算环境下的高效消息传递库第四章学习心得
2
【汇编语言 局部标签解析】beq %F1 指令中百分号的作用与含义
3
沙漏结构中的最大总和值分析
4
数据可视化 | 探索全球70亿人的生活方式与活动分布
5
解决 Ubuntu 系统中因 LC_CTYPE 或 LC_ALL 设置不当引起的中文字符显示异常问题
6
如何在MySQL中安全地更改主键值
7
UniApp 应用端 offsetHeight 获取问题及解决方案探析
8
深入解析 JavaScript 中的 let 关键词:特性与应用
9
在Windows环境中优化提交Spark任务的方法与实践
10
解决MacBook安装Windows时“无法将支持软件保存至选定驱动器”的替代方法
11
WebAPI在IIS部署过程中遇到的常见问题及解决方案
12
2018年热门趋势:轻松几步构建高效智能聊天机器人
13
ACE定时器的高级应用与优化策略
14
西安地区低质量软件开发企业名录
15
Maven入门指南(四):使用命令行创建项目结构
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有