C# 如何获取XDocument子节点

C# 如何获取XDocument子节点,c#,xml,C#,Xml,管理员用户 密码123 真的 行政 xyz 管理员用户 密码123 真的 行政 xyz 管理员用户 密码123 真的 行政 xyz 您应该使用XContainer.Elements(“name”)来获取直接子元素,或者如果您希望获取具有相同名称的所有嵌套元素,则应使用XContainer.degenerations(“name”) 您应该使用XContainer.Elements(“name”)来获取直接子元素,或者如果您希望获取具有相同名称的所有嵌套元素,则应使用XContainer.deg


管理员用户
密码123
真的
行政
xyz
管理员用户
密码123
真的
行政
xyz
管理员用户
密码123
真的
行政
xyz
您应该使用
XContainer.Elements(“name”)
来获取直接子元素,或者如果您希望获取具有相同名称的所有嵌套元素,则应使用
XContainer.degenerations(“name”)


您应该使用
XContainer.Elements(“name”)
来获取直接子元素,或者如果您希望获取具有相同名称的所有嵌套元素,则应使用
XContainer.degenerations(“name”)

如果我理解正确,请尝试使用它(已测试并通过)


如果我理解正确,请尝试使用(已测试并通过)

可能的重复可能的重复
IEnumerable<XElement> accounts = doc.Root.Elements("Account");
IEnumerable<XElement> accounts = doc.Root.Elements();
    var xml_string = "<Users>  <Account>    <User>      <Username>AdminUser</Username>      <Password>pass123</Password>      <Active>true</Active>      <Account>Admin</Account>      <Details>    <Account>xyz</Account>      </Details>    </User>     </Account> <Account>    <User>      <Username>AdminUser</Username>      <Password>pass123</Password>      <Active>true</Active>      <Account>Admin</Account>      <Details>      <Account>xyz</Account>      </Details>    </User>     </Account> <Account>    <User>      <Username>AdminUser</Username>      <Password>pass123</Password>      <Active>true</Active>      <Account>Admin</Account>      <Details>      <Account>xyz</Account>      </Details>    </User>     </Account></Users>";

    var xmlNodes = xml.SelectNodes("Users/Account/User");

    foreach (XmlNode node in xmlNodes)
    {
      Console.WriteLine("Username: {0}; Password: {1}; Active:{2}; Account: {3}; Details Account: {4}",
                                node["Username"].InnerText,
                                node["Password"].InnerText,
                                node["Active"].InnerText,
                                node["Account"].InnerText,
                                node["Details"].InnerText);
    }

  //result is

   // Username: AdminUser; Password: pass123; Active:true; Account: Admin; Details Account: xyz
   // Username: AdminUser; Password: pass123; Active:true; Account: Admin; Details Account: xyz
  // Username: AdminUser; Password: pass123; Active:true; Account: Admin; Details Account: xyz"
            var xml = new XmlDocument();

            xml.LoadXml(xml_string);

            var xmlNodes = xml.SelectNodes("Users/Account/User/Account");

            foreach (XmlNode node in xmlNodes)
            {
               Console.WriteLine(node.InnerText);
            }

           //result is 

            //Admin
            //Admin
            //Admin
 XDocument doc = XDocument.Load(path);
        foreach (XElement element in doc.Root
                              .Element("Account")
                              .Elements("User"))
        {
            Console.WriteLine("Username: {0}; Password: {1}; Active:{2}; Account: {3}; Details Account: {4}",
                              (string)element.Element("Username"),
                              (string)element.Element("Password"),
                              (string)element.Element("Active"),
                              (string)element.Element("Account"),
                              (string)element.Element("Details").Element("Account"));
        }