SelectSingleNode, возвращающий ноль для известного хорошего пути узла xml, используя XPath

Рассмотрим этот простой XML-документ. Сериализованный XML, показанный здесь, является результатом XmlSerializer из сложного объекта POCO, схема которого я не могу контролировать.

<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>

Цель состоит в том, чтобы извлечь значение атрибута расширения на узле идентификатора. В этом случае мы используем метод SelectSingleNode и задаем выражение 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;

Проблема в том, чтоSelectSingleNode Метод возвращает значение NULL для данного выражения XPath.

Question: Любые идеи по поводу правильности этого запроса XPath, или почему этот вызов метода + выражение XPath будет возвращать нулевое значение? Возможно, пространства имен являются частью проблемы?

Ответы на вопрос(9)

Ваш ответ на вопрос