gpt4 book ai didi

c# - 如何反序列化 xml 以在 RestSharp 中列出?

转载 作者:行者123 更新时间:2023-12-02 21:33:29 24 4
gpt4 key购买 nike

我的 XML:

<result>
<document version="2.1.0">
<response type="currency">
<currency>
<code>AMD</code>
<price>85.1366</price>
</currency>
</response>
<response type="currency">
<currency>
<code>AUD</code>
<price>31.1207</price>
</currency>
</response>
</document>
</result>

我的类(class):

public class CurrencyData
{
public string Code { get; set; }
public string Price { get; set; }
}

我的解串器调用:

RestClient.ExecuteAsync<List<CurrencyData>>...

如果我将类 CurrencyData 重命名为 Currency 那么一切都会正确完成。但我想保留这个类名。

最佳答案

好的,我想我明白了,

您可以尝试RestClient.ExecuteAsync<Result>()

[XmlRoot("result")]
public class Result
{
[XmlElement("document")]
public Document Document { get; set; }
}

public class Document
{
[XmlElement("response")]
public Response[] Responses { get; set; }

[XmlAttribute("version")]
public string Version { get; set; }
}

public class Response
{
[XmlElement("currency")]
public CurrencyData Currency { get; set; }

[XmlAttribute("type")]
public string Type { get; set; }
}

public class CurrencyData
{
[XmlElement("code")]
public string Code { get; set; }

[XmlElement("price")]
public decimal Price { get; set; }
}

我必须添加一些XmlElement属性来覆盖大小写,而不必以小写形式命名类和属性。但如果您可以更改 xml 以匹配大小写,则可以删除它们

关于c# - 如何反序列化 xml 以在 RestSharp 中列出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21867881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com