var q = from n in XElement.Load(Application.StartupPath + "..\\..\\..\\2.xml").Elements()
select n;
foreach (var q0 in q)
{
string str = q0.ToString();
}
问题是我的xml文件太大了,所以我如何管理这段代码来逐渐加载它。现在我用c#跟踪它将所有文件完全加载到“q”中,然后在“str”中加载一些大节点。我的内存有限,我需要一点一点地从文件加载。我不知道我有多少节点,但我知道文件的一般结构。
答案 0 :(得分:3)
您将使用XmlReader
。使用它的问题是处理完全不同,你不能使用LINQ。
答案 1 :(得分:3)
不是一次读取内存中的整个XML文件然后迭代它,而是查看XmlReader类及其衍生物。这些允许您遍历每个节点的XML节点。
XmlTextReader是从文本文件中读取XML的特定衍生产品。