繁体   English   中英

从C#中的xml查询获取对象值

[英]Get object value from xml query in c#

我找不到如何从对象中检索值的方法。 这是代码:

    private object GetUserData(XElement xmlDoc)
    {
        return
              xmlDoc.Descendants("UserData").Select(u => new
              {
                  UserName = u.Element("UserName").Value,
                  Pass = u.Element("Pass").Value,
                  CurTemplate = u.Element("CurrentTemplate").Value
              });
    }

这将存储在:

   var userData = GetUserData(xmlDoc);

当我调试它并打开userData值时,它具有一个包含我定义的属性的列表,但我根本无法实现它们。 我试图将返回值转换为列表,字典,查找,字符串等,但这根本没有帮助。 有人可以帮忙吗?

谢谢!

您不能返回Anonymous类型,而通过返回“ object”来伪造它完全没有帮助。 如果您需要在定义Anonymous对象的范围之外的属性,则Anonymous对象不是您所需要的,您需要使用所需的属性(UserName,Pass,CurTemplate)定义一个类,然后选择该类的新实例类型,而不是新的匿名类型。 然后,您将可以从方法中返回IEnumerable

public class UserData
{
     public string UserName;
     public string Pass;
     public string CurTemplate;
}

private IEnumerable<UserData> GetUserData(XElement xmlDoc)
{
    return
          xmlDoc.Descendants("UserData").Select(u => new UserData
          {
              UserName = u.Element("UserName").Value,
              Pass = u.Element("Pass").Value,
              CurTemplate = u.Element("CurrentTemplate").Value
          });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM