How does XPath deal with XML namespaces?
<p><strong>How does XPath deal with XML namespaces?</strong></p>

<p>If I use</p>

<pre><code>/IntuitResponse/QueryResponse/Bill/Id
</code></pre>

<p>to parse the XML document below I get 0 nodes back. </p>

<pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;IntuitResponse xmlns="http://schema.intuit.com/finance/v3" 
                time="2016-10-14T10:48:39.109-07:00"&gt;
    &lt;QueryResponse startPosition="1" maxResults="79" totalCount="79"&gt;
        &lt;Bill domain="QBO" sparse="false"&gt;
            &lt;Id&gt;=1&lt;/Id&gt;
        &lt;/Bill&gt;
    &lt;/QueryResponse&gt;
&lt;/IntuitResponse&gt;
</code></pre>

<p>However, I'm not specifying the namespace in the XPath (i.e. <code>http://schema.intuit.com/finance/v3</code> is not a prefix of each token of the path). How can XPath know which <code>Id</code> I want if I don't tell it explicitly? I suppose in this case (since there is only one namespace) XPath could get away with ignoring the <code>xmlns</code> entirely. But if there are multiple namespaces, things could get ugly.</p>