Using Xpath With Default Namespace in C#

First – you don’t need a navigator; SelectNodes / SelectSingleNode should suffice.

You may, however, need a namespace-manager – for example:

XmlElement el = ...; //TODO
XmlNamespaceManager nsmgr = new XmlNamespaceManager(
    el.OwnerDocument.NameTable);
nsmgr.AddNamespace("x", el.OwnerDocument.DocumentElement.NamespaceURI);
var nodes = el.SelectNodes(@"/x:outerelement/x:innerelement", nsmgr);

Leave a Comment