С учетом следующей разметки XML:
<root xmlns="Demo">
<child name="foo"/>
</root>
и XPathNavigator
, расположенные на элементе <child>
,
string withNs = navigator.GetAttribute("name", navigator.NamespaceURI);
string withoutNs = navigator.GetAttribute("name", "");
дает странные результаты: withNs
пусто, withoutNs
содержит foo
.
Почему это? Я ожидал, что все будет наоборот, поскольку атрибут name
должен находиться в пространстве имен Demo
, как элемент child
.
В документации MSDN не упоминается никакого магического значения передачи namespaceURI=""
, поэтому я предположил, что вам нужно передать реальный URI пространства имен атрибута.