Это ошибка или в дизайне, что атрибут xmlns не игнорируется?
(версия для торта 0.33.0)
С таким XML-кодом (слишком упрощенный файл nuspec):
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<!-- Continuously updated elements -->
<version>3.0.0</version>
</metadata>
</package>
Я делаю наивный звонок
var x = XmlPeek( "my.nuspec", "/package/metadata/version/text()" );
объявление получит результат x==null
.
Итак, я определяю пространство имен следующим образом:
var settings = new XmlPeekSettings{
Namespaces = new Dictionary<string, string> {{
"ps", "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"
}}
};
var x = XmlPeek( "my.nuspec", "/ps:package/ps:metadata/ps:version/text()", settings);
и получите результат x==3.0.0
Я ожидал.