【发布时间】:2017-03-15 04:53:55
【问题描述】:
我必须读取大型 xml 文件的根节点的所有一级节点,如下所示:
<root>
<record n="1"><a/><b/><c/></record>
<record n="2"><a/><b/><c/></record>
<record n="3"><a/><b/><c/></record>
</root>
我的代码如下:
var xml = XDocument.Load(filename);
var firstNode = xml?.Root?.Descendants()?.FirstOrDefault();
var elements = firstNode?.Elements();
我只需要获取根的第一个孩子和它的所有第一级后代。这段代码运行良好,但问题是:这样阅读是否安全?我猜它不会将所有数据加载到内存中 - 只有 xml 文件的结构?
我看到调试时内存没有增加。只有当我真正尝试查看 xml 变量中的内容时,它才会爆炸。
【问题讨论】: