是否通过LINQ从XDocument中读取项目的顺序?

msa*_*het 7 .net xml linq

所以我正在做的是使用xml文档来确定数据库更新需要运行某些SQL脚本的顺序.

XML遵循这种格式

<ScriptRules>
    <Database databaseName = “string”>
        <Folder folderPath = “string” executeAllFiles = boolean>
            <file order=”first or last”>“Filename”</file>
        </Folder>
    </Database>
</ScriptRules>
Run Code Online (Sandbox Code Playgroud)

因此,执行sql数据库中所有文件的类会在更改连接时查看此内容,并根据配置文件告诉它执行的操作从文件夹执行文件.

现在我的问题是:

假设我有一个包含4个Database节点的Document,每个节点都有n一些Folder节点,里面有各种各样的file节点.

我是否合乎逻辑地假设如果在我已经检索到使用For EachDatabase节点上的循环中,它们将按照它们出现在xml文件中的顺序被拉出?(对于文件节点也一样)XElementdatabase.Elements("Database")

据我所知,情况确实如此,但我只是想在开始在生产数据库上使用它之前进行验证.

Jon*_*eet 9

是,Elements按文档顺序返回元素.从文档中,在"返回值"中:

IEnumerable<T>XElement 含有的孩子们 XContainer有一个匹配的XName文档顺序.