C#XPathSelectElement返回null

The*_*oss 5 c# xpath

我试图使用System.Xml.XPath命名空间的XPathSelectElement方法但由于某种原因它总是返回null,我不知道为什么.

这是代码:

TextReader stream = new StreamReader("config.ini");
XmlReader reader = XmlReader.Create(stream);
XElement xml = XElement.Load(reader);

XElement file = xml.XPathSelectElement("Config/File");
Run Code Online (Sandbox Code Playgroud)

这是它试图读取的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<Config>
 <File>serp_feed.xml</File>
</Config>
Run Code Online (Sandbox Code Playgroud)

我尝试了很多东西(添加命名空间表,更改XPath等),但没有任何作用!

有任何想法吗?

Mar*_*nen 9

使用XElement.Load名为变量的变量xml是根元素,即您发布的XML示例的"Config"元素.如果您使用该Config/File元素上的路径作为上下文节点,则您要查找名为"Config"的子元素,该元素具有后代"File"元素."Config"元素没有"Config"子元素,它只有一个"File"子元素.所以你想要XPath File或者你需要的XDocument xml = XDocument.Load("config.ini),那么你的路径就可以了.