none
大家有没有提高xml解析效率需要注意的地方或者是可以优化的方法,或者是实现数据交换的格式。谢谢大家了。 RRS feed

  • 问题

  • 我使用.NET的xmldocument对象解析xml文件,但是我现在测试解析的速度太慢了,

    大家有没有提高xml解析效率需要注意的地方或者是可以优化的方法,或者是实现数据交换的格式。谢谢大家了。

    2010年5月30日 9:53

答案

  • 我使用.NET的xmldocument对象解析xml文件,但是我现在测试解析的速度太慢了,后来我用json,解析太麻烦,效率不高,

    大家有没有提高xml解析效率需要注意的地方或者是可以优化的方法,或者是实现数据交换的格式。谢谢大家了。

    2010年5月30日 9:51
  • 你好 如果仅是读取 那么你可以使用XPathDocument类,这个类的效率比Xmldocument的高

    在我个人认为XML在用于不同平台数据交换方法的效果是很不错的,它易于扩展同时可以使用xslt进行不同格式的转换,以便不同的客户对象使用不同的数据

    如果你想实现比较简单快捷的,可以自己定义一套二进制格式的文件,比如这个文件包含哪些信息,它们怎样在这个文件中组织等等,不过这需要花很多的时间的来定义一个自己格式的规则


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    • 已标记为答案 wsk yunfei 2010年5月31日 16:48
    • 取消答案标记 wsk yunfei 2010年6月1日 6:46
    • 已标记为答案 wsk yunfei 2010年6月2日 1:37
    2010年5月31日 1:16
    版主

全部回复

  • 我使用.NET的xmldocument对象解析xml文件,但是我现在测试解析的速度太慢了,后来我用json,解析太麻烦,效率不高,

    大家有没有提高xml解析效率需要注意的地方或者是可以优化的方法,或者是实现数据交换的格式。谢谢大家了。

    2010年5月30日 9:51
  • 比较大的 xml 文档, 用流解析。

    xml解析主要涉及到标记不确定,语法验证严格,又都是单线程解析,从而造成解析效率不高,

    但是,事实上是可以通过多线程解析来提高解析效率的,目前,我还没看到针对多线程版的xml解析引擎。

    在做数据交换格式选择方面,需要考虑交换双方平台,所以,除了XML或者特定应用领域,比如金融行业的FIX之外

    ,在你项目中是需要实际考虑的。比如你的项目很简单,那你的数据交换格式也可以很简单,直接采用COM平台下的对象封送格式即可。

    • 已标记为答案 wsk yunfei 2010年5月31日 16:48
    • 取消答案标记 wsk yunfei 2010年6月1日 6:46
    2010年5月30日 14:23
  • 你好 如果仅是读取 那么你可以使用XPathDocument类,这个类的效率比Xmldocument的高

    在我个人认为XML在用于不同平台数据交换方法的效果是很不错的,它易于扩展同时可以使用xslt进行不同格式的转换,以便不同的客户对象使用不同的数据

    如果你想实现比较简单快捷的,可以自己定义一套二进制格式的文件,比如这个文件包含哪些信息,它们怎样在这个文件中组织等等,不过这需要花很多的时间的来定义一个自己格式的规则


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    • 已标记为答案 wsk yunfei 2010年5月31日 16:48
    • 取消答案标记 wsk yunfei 2010年6月1日 6:46
    • 已标记为答案 wsk yunfei 2010年6月2日 1:37
    2010年5月31日 1:16
    版主
  • 直接用txt吧,你自己规定格式,分隔符什么的

    这个效率比xml快。

    不过xml也有特点,就是能够表示比较复杂的数据结构。

    我不清楚你说的慢有多慢,之前用过.NET反序列化xml对象,吞吐量也是很大的,还有biztalk,这个处理xml数据速度都是很快的。

    建议你先优化你的程序。


    family as water
    • 已标记为答案 wsk yunfei 2010年5月31日 2:00
    • 取消答案标记 wsk yunfei 2010年5月31日 6:09
    2010年5月31日 1:50
  • txt是简单,但是查询不行,使用StringReader,是只读的,也不合适,我想用json代xmldocument,但是嵌套太多层了,查询处理比较烦,正在实 现中,看看效率如何把。我现在的主要问题是我解析一个40M的文件,等待时间太长了,客户要求5分钟,我现在需要9分钟,我的程序已经优化了几次了,我想问问大家有没有其他策略,达到客户要求
    2010年5月31日 1:58
  • 你是怎样一个使用环境?

    比如有两个应用程序: A.exe B.exe

    B 负责每10分钟生成一个新的文件;

    A 负责每10分钟去读取并解析该文件,并从中查找出符合条件的数据;

    或者是一个Asp.Net 网站,客户由IE发起请求,服务器从一个40M的文件中解析出客户想要的数据并返回给客户IE.

     

    2010年5月31日 7:31
  • 我现在从后台解析完一个业务,然后组装成一个xmldocument对象,最后前台查询xmldocument对象,没法用流解析xmldocument,我还在继续找别的方法中,大家有良策,讨论讨论。
    2010年6月1日 6:51