在.NET 3.5中,处理非常大的XML文件的“推荐”方法是什么?
对于写入,我想逐个生成元素,然后将其附加到文件中。
对于阅读,我同样希望按照编写顺序逐个读取元素。
我有一些使用字符串和File.Append的想法,但是.NET 3.5是否提供用于处理任意大的XML文件的XML Api?
不具体说明的话,这个问题很难回答。.NET提供了不同的方法来处理XML文件:
根据你的说法,XmlReader/XmlWriter组合似乎是最佳选择。
正如Dirk所说,使用XmlWriter/XmlReader组合似乎是最佳方法。如果您的XML文件相当复杂,它可能会非常冗长而且难以处理。最近我也不得不在一些严格的内存限制下做类似的事情。我的SO问题可能会有帮助。
但就我个人而言,我发现这种方法在MSDN博客上非常容易实现,而且它可以很好地处理在不产生片段的情况下追加到XML文件的末尾。
StreamReader str = new StreamReader("SomeFolder\\YourFile.xml");
XmlSerializer xmlSer = new XmlSerializer(typeof(TcpPostavke));
Settings m_settings = (Settings )xmlSer .Deserialize(str);
<elem></elem>
和<elem/>
视为不同的内容,只能在预期前缀的情况下处理命名空间代码等。 - Damien_The_Unbeliever