为什么这个Xpath不能使用XDocument.XPathSelectElement?XPathSelectElement总是返回null
的Xpath:
//Plugin/UI[1]/PluginPageCategory[1]/Page[1]/Group[1]/CommandRef[2]
XML
<Plugin xmlns="http://www.MyNamespace.ca/MyPath">
<UI>
<PluginPageCategory>
<Page>
<Group>
<CommandRef>
<Images>
</Images>
</CommandRef>
<CommandRef>
<Images>
</Images>
</CommandRef>
</Group>
</Page>
</PluginPageCategory>
</UI>
</Plugin>
C#代码:
myXDocument.XPathSelectElement("//Plugin/UI[1]/PluginPageCategory[1]/Page[1]/Group[1]/CommandRef[2]", myXDocument.Root.CreateNavigator());
xpath查询中没有名称空间信息,这可能是原因。试着缩小这个范围,删除XML上的命名空间,看看是否会得到你的结果? – Cumbayah 2011-04-28 13:30:14
这可能是由于命名空间 - 检查从XML中删除它是否修复它,如果有,请创建一个NamespaceManager。 – 2011-04-28 13:31:17
@Cumbayah:打我吧! – 2011-04-28 13:32:11