XPathSelectElement renvoie toujours null

Pourquoi est-ce Xpath pas de travail à l'aide de XDocument.XPathSelectElement?

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>

De Code C#:

myXDocument.XPathSelectElement("//Plugin/UI[1]/PluginPageCategory[1]/Page[1]/Group[1]/CommandRef[2]", myXDocument.Root.CreateNavigator());
  • Il n'y a pas d'informations d'espace de noms dans la requête xpath, qui peut être la cause. Essayez d'affiner ce bas, supprimer l'espace de noms sur le XML et voir si le résultat?
  • C'est probablement en raison de l'espace de noms - de vérifier si le retirer à partir du XML correctifs, et si c'est le cas, vous devez configurer un NamespaceManager.
  • Me battre pour elle!
  • Oui, il fonctionne, je vous remercie. Mais maintenant, comment puis-je gérer les espaces de noms correctement?
  • voir ce post weblogs.asp.net/wallen/archive/2003/04/02/4725.aspx
  • double possible de à l'Aide de Xpath Avec espace de Noms par Défaut en C#
  • Pourquoi le downvote?! Sa réponse mérite beaucoup de downvotes, mais la question? +1 de (sur-)compenser.