小编s1c*_*t3r的帖子

用于检索所有子节点的 Linq-to-XML

我有以下 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 的新手,有人可以告诉我正确的做法吗?

c# xml linq linq-to-xml

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

linq ×1

linq-to-xml ×1

xml ×1