簡體   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