我有一个文件,它本质上是一个 XPath 列表,如下所示:
/Options/File[1]/Settings[1]/Type[1]
/Options/File[1]/Settings[1]/Path[1]
/Options/File[1]/Settings[2]/Type[1]
/Options/File[1]/Settings[2]/Path[1]
/Options/File[2]/Settings[1]/Type[1]
/Options/File[2]/Settings[1]/Path[1]
我需要在中等大小的 XML 文件(~3-5MB)中从这些 XPath 指向的元素中获取值。使用 XPathSelectElement 效果很好,但速度极慢。有没有更快的方法来使用 Linq to XML 甚至手动遍历 XML?
在一个相关问题中,XPath 中的索引值和从 XElement 返回的元素顺序是否保证相同?例如,这些返回是否相同:
xdoc.XPathSelectElement("/Options/File[1]/Settings[2]);
xdoc.root.Elements("File").ElementAt(0).Elements("Settings").ElementAt(1);