为什么这个xPath(c#)不起作用?

Exi*_*tos 0 c# xml xpath

得到这个xml:

<?xml version="1.0" encoding="UTF-8"?>
<video xmlns="UploadXSD">
  <title>
    A vid with Pete
  </title>
  <description>
  Petes vid
  </description>
  <contributor>
    Pete
  </contributor>
  <subject>
    Cat 2
  </subject>
</video>
Run Code Online (Sandbox Code Playgroud)

而这个xpath:

videoToAdd.Title = doc.SelectSingleNode(@"/video/title").InnerXml;
Run Code Online (Sandbox Code Playgroud)

我得到一个'对象引用未设置为对象的实例'.任何想法为什么这是一个有效的xpath我可以看到它曾经工作...

Pav*_*čík 6

您的XML包含命名空间规范,您需要修改源以将其考虑在内.
例:

XmlDocument doc = new XmlDocument();
doc.Load("doc.xml");
XmlNamespaceManager xmlnsManager = new XmlNamespaceManager(doc.NameTable);
xmlnsManager.AddNamespace("ns", "UploadXSD");

videoToAdd.Title = doc.SelectSingleNode(@"/ns:video/ns:title", xmlnsManager).InnerXml;
Run Code Online (Sandbox Code Playgroud)