我几乎没有XML文档与一堆XPath查询。我只想要我设计的应用程序来更改XML文档:)。我有机制来检查文档的完整性并保护某个人的身份。提高XML解析性能
现在,使用C#.Net进行XML解析并不能提供令我满意的性能。
我有的选择是。
- 使用新的解析器(即使端口为C++)。
- 编写一个模式(可能需要很长时间)。它会提高分析性能吗?
- 玩弄更多.Net类或库。 XMLReader是我现在正在使用的
有人能告诉我哪些会在我花费的时间后让我微笑更多。
更新一些信息: 我只想解析和读取一些/所有属性。写作正在改变文件不是我想要的。 稍后可能需要XSD支持。 (Donno什么样的未来对我来说)
当前性能:在1000个文件中14秒内50MB的XML。
打开,文件的关闭也需要一定的时间我想!!(它包括)
我要找1/2的这个时间。
是否架构提高性能?我没有序列化任何东西。感谢xsd生成器。 XML有近1000个标签和属性。在我生成一个模式之后,它一团糟。我想用[pugixml(http://code.google.com/p/pugixml/)用包装材料 – Vignesh 2011-02-07 08:34:52
@Vignesh,你能后的xml文件的样本?如果将XSD,则流程是:1.使用XSD生成从架构,2.使用XmlSerializer的反序列化XML类定义(加载XML到内存中),3.使用XML元素。 – 2011-02-07 08:46:45
@Vignesh,XPath是查询XML的更快捷方式。但是,如果您事先知道要查询的信息的位置,它只会有帮助。还要注意的是,前代串行器(使用SGEN)的可显著提高应用程序的启动性能(虽然内存消耗保持不变)。 – 2011-02-07 08:48:20