SelectSingleNode retornando null para um caminho de nó xml bom e conhecido usando XPath

Considere este documento XML simples. O XML serializado mostrado aqui é o resultado de um XmlSerializer de um objeto POCO complexo cujo esquema não tenho controle.

<My_RootNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">
  <id root="2.16.840.1.113883.3.51.1.1.1" extension="someIdentifier" xmlns="urn:hl7-org:v3" /> 
  <creationTime xsi:nil="true" xmlns="urn:hl7-org:v3" />      
</My_RootNode>

O objetivo é extrair o valor do atributo extension no nó id. Neste caso, estamos usando o método SelectSingleNode e recebemos uma expressão XPath:

XmlNode idNode = myXmlDoc.SelectSingleNode("/My_RootNode/id");
//idNode is evaluated to null at this point in the debugger!
string msgID = idNode.Attributes.GetNamedItem("extension").Value;

O problema é que oSelectSingleNode método retorna null para a expressão XPath especificada.

Questão: alguma idéia sobre a exatidão desta consulta XPath, ou por que essa chamada de método + expressão XPath retornaria um valor nulo? Talvez os namespaces sejam parte do problema?

questionAnswers(9)

yourAnswerToTheQuestion