我有以下 XML
<?xml version="1.0" encoding="utf-8"?>
<ErrorServer>
<ClientIP>
<AllowAll>false</AllowAll>
<Client_127_0_0_1>true</Client_127_0_0_1>
</ClientIP>
<Users>
<Admin>
<Password>passw0r!d</Password>
<NextError>83</NextError>
<Active>true</Active>
</Admin>
<JimBob>
<Password>passw0r!d</Password>
<NextError>83</NextError>
<Active>true</Active>
</JimBob>
</Users>
</ErrorServer>
Run Code Online (Sandbox Code Playgroud)
在 c# 中使用 linq 我试图使用以下代码获取所有用户名(上面示例中的 Admin 和 JimBob)
List<string> Result = new List<string>();
XDocument xdoc = XDocument.Load("ErrorServerConfig.xml");
//Run query
var lv1s = from lv1 in xdoc.Descendants("ErrorServer")
select new
{
Children = lv1.Elements("Users")
};
//Loop through results
foreach (var lv1 in lv1s)
{
foreach (var lv2 in lv1.Children)
Result.Add(lv2.Name.ToString());
}
return (Result);
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为它只在结果中返回“用户”。
我是 linq 的新手,有人可以告诉我正确的做法吗?