易截截图软件、单文件、免安装、纯绿色、仅160KB

通过DataSet读取XML的效率问题

一直以来读取xml都是通过DataSet的ReadXML方法来解决,其他属性也都没有使用。在数据量小的时候倒也相安无事,直到今天读取一个20M的XML流才发现实在太影响效率了。
默认情况下,ReadXML缺省情况下使用XmlReadMode.Auto方式读取,用以前的作法,由于xml文件里没有包含Scheme,DataSet会先推断xml的结构,然后再加载数据。可是对一个20M的流推断其结构效率可想而知。如果XmlReadMode采用的是除Auto和InferSchema(同样根据数据推断结构)之外的成员,那么除了行数会相应增加外,内容都被忽略。
如何解决这个讨厌的问题呢,其实也很简单先给DataSet提供Schema(ReadXmlSchema方法),XmlReadMode设为IgnoreSchema即可。经过测试处理时间由几分钟提高到几秒。示例如下:
DataSet ds = new DataSet();
 using (StringReader sr = new StringReader( xxx ))
{
 ds.ReadXmlSchema(sr);
}
 ds.Tables[0].BeginLoadData();
 using (StringReader sr = new StringReader( xxx ))//(***)代表xml文件路径
{
 ds.ReadXml(sr, XmlReadMode.IgnoreSchema);
}
 ds.Tables[0].EndLoadData();


相关文档:

转藏:Perl 处理XML XML::Parser::Expat

当在Perl中使用XML时,你会有将近五百个CPAN模块可以选择,每一个都支持整合Web服务的不同方面。此外,Perl的核心库包括多个支持XML的模块。这篇文章就关注于一个最早期且涉及最频繁的核心模块:XML::Parser.
XML::解析器系列
最初的Perl解析器XML::Parser::Expat由Larry Wall在几年前编写并由Clark Cooper保持延续。模 ......

java读取XML文件

1.读取XML文件的类:
public class XMLUtils {

private final String DB_XML_FILE = "/XMLSetting.xml";
public Properties getPropertiesfromXML() {
URL url = XMLUtils.class.getResource(dBXMLFILE);
URI uri;
try {
uri = url.toURI();
InputSource xmlfile = new InputSource(uri.g ......

HTML DOM与XML DOM之间的区别与联系

像在座的各位一样,由于自身的兴趣,我对AJAX编程方面的研究是持续不断的。随着该领域的深入,我越来越发觉所谓的浏览器DOM,即HTML DOM,是一个非常值得关注的点。这观点在与同行们交换意见的时候也曾谈到过,就是,我们仍然缺乏具有深度的、规范的DOM Level 1辅助读物,网络上搜索也比较少见。而我们真实的想法在于,我们 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号