Reading XmlDocument which has a namespace

The scenario is I was trying to read a response message from Amazon AWS which contains a namespace using VS2008/C#.
A sample document can be found here.
Let's assume that the response message has been saved as ItemLookupResponse.xml.
I tried the following code to get the number of elements in the document.
Counted manually, the total number of elements is 10.
XmlDocument xDoc = new XmlDocument();
xDoc.Load("resources/ItemLookupResponse.xml");
XmlNodeList offerNodes = xDoc.SelectNodes("//Offer");
return offerNodes.Count;
Guess what you would get as the returned integer...
Well... I expected 10.
But it turned out to be 0!
After doing some researches, I found that
If the XML includes a default namespace, XmlNamespaceManager must be used and a prefix and namespace URI must be added to it.
Therefore, my code has been modified to be as followed:
XmlDocument xDoc = new XmlDocument();
xDoc.Load("resources/ItemLookupResponse.xml");
XmlNamespaceManager nsMgr = new XmlNamespaceManager(xDoc.NameTable);
// get the document's default namespace URI.
nsMgr.AddNamespace("aws", xDoc.DocumentElement.NamespaceURI); 
XmlNodeList offerNodes = xDoc.SelectNodes("//aws:Offer", nsMgr);
return offerNodes.Count;
Now it returns 10 as expected. Sweet~
Notice that the defined prefix is needed in the XPath expression (//aws:Offer).