加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将xml响应映射到类?

发布时间:2020-12-16 00:22:18 所属栏目:百科 来源:网络整理
导读:我不知道如何将一些 XML表示为C#类.有没有人对如何正确映射这个xml有任何建议?以下是我的尝试: authenticationResponse Accounts AccountId1/AccountId AccountId5/AccountId /Accounts/authenticationResponsepublic class authenticationResponse{ [XmlE
我不知道如何将一些 XML表示为C#类.有没有人对如何正确映射这个xml有任何建议?以下是我的尝试:

<authenticationResponse>
  <Accounts>
    <AccountId>1</AccountId>
    <AccountId>5</AccountId>
  </Accounts>
</authenticationResponse>


public class authenticationResponse
{
    [XmlElement("Accounts")]
    [DataMember]
    public List<Account> Accounts { get; set; }
}

public class Account
{
    public long id { get; set; }
}

解决方法

您可以通过LINQ to XML加载此数据:

XElement x = XElement.Load("YourFile.xml");
List<Account> accounts = x.Element("Accounts")
                            .Elements("AccountId")
                            .Select(e => new Account { id = (long)e })
                            .ToList();

在这种情况下,authenticationResponse类是多余的.

如果您在内存中有响应(不在硬盘上的文件中),您可以使用:

string response = ...
XElement x = XElement.Load(new StringReader(response));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读