このXMLファイルを考えると:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<mySection>
<NetworkShare folder="\\myFolder\v1" />
</mySection>
</configuration>
次のコードは機能しません(空白の出力を提供します):
var navigator = XElement.Load(ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath).CreateNavigator();
var q = navigator.Select("/configuration/mySection/NetworkShare");
if (q.Count == 1) // q.Count is 0
{
q.MoveNext();
Console.WriteLine(q.Current.GetAttribute("folder", navigator.Prefix));
}
しかし、このコードは機能します(フォルダを正しく出力します):
var navigator = XDocument.Load(ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath).CreateNavigator();
var q = navigator.Select("/configuration/mySection/NetworkShare");
if (q.Count == 1) // q.Count is 1
{
q.MoveNext();
Console.WriteLine(q.Current.GetAttribute("folder", navigator.Prefix));
}
これは.netのバグですか?