title: Can't Get .NET XPathNavigator to work
body: <p>I am having problems with XPathNavigator. I have a document with a bunch of "topic" elements w/o namespace in a stream.</p>
  
  <p>I am using (expression dumbed down to bare minimum, first I thought my expressions were wrong):</p>
  
  <pre><code>XPathDocument xmlDoc = new XPathDocument( stream );
  XPathNavigator xml = xmlDoc.CreateNavigator();
  XPathNodeIterator iter = xml.Select( "//topic" );
  </code></pre>
  
  <p>This doesn't work. I can select <code>*/*/*</code> or something similar and get my "topic" elements alright.
  I tried running my expressions in online tester and other languages and they work.</p>
  
  <p>Question: what's wrong? I have lingering suspicion that it has to do with accursed NamespaceManager object, which causes me incredible pain every time I parse document with namespaces, but this time the elements I am seeking don't have an explicit namespace!
  I added:</p>
  
  <pre><code>XmlNamespaceManager s = new XmlNamespaceManager( xml.NameTable ); 
  </code></pre>
  
  <p>and pass that as 2nd argument to Select - to no avail. How am I supposed to add "" namespace to this thing/use it correctly?</p>
  
  <p>Or, better yet, is there way to use XPath in .NET without using this horrible abomination of the class, like in other languages? If I want namespaces, I can write them in the expression...</p>
  
  <p>Update:
  I figured out a workaround- copy/paste default xmlns from root node, and then use that namespace:</p>
  
  <pre><code>thisIsRetarded.AddNamespace( "x", "urn:xmind:xmap:xmlns:content:2.0" );
  XPathNodeIterator projectIter = projectTree.Select( "//x:topic", thisIsRetarded );
  </code></pre>
  
  <p>however, neither I am supposed to know the default URI, nor do I like to pollute my expressions with unnecessary x:-s. So I only need answer to 2nd part of the question now.</p>