gpt4 book ai didi

c# - 如何对具有属性的元素使用 RestSharp 的默认 XmlDeserializer

转载 作者:行者123 更新时间:2023-11-30 18:38:44 26 4
gpt4 key购买 nike

我正在尝试使用 RestSharp 来使用第三方 REST Web 服务,但我在让默认的 XML 反序列化与我返回的 XML 一起工作时遇到了一些问题。

XML 的形式是 -

<root>
<someURL href="192.168.1.1" />
<anotherURL href="192.168.1.2" />
<thirdURL href="192.168.1.3" />
</root>

我的 request.RootElement 设置为“root”,我最初尝试为 RestSharp 创建以下对象以反序列化为 -

public class URLInfo
{
public string someURL { get; set; }
public string anotherURL { get; set; }
public string thirdURL { get; set; }
}

我意识到这是行不通的,因为这些属性所以我认为基于此处的示例 (https://github.com/restsharp/RestSharp/wiki/Deserialization) - 尽管它讨论的是元素列表,但我尝试创建以下内容 -

public class URLInfo
{
public HrefAttribute someURL { get; set; }
public HrefAttribute anotherURL { get; set; }
public HrefAttribute thirdURL { get; set; }
}

public class HrefAttribute
{
public string href { get; set; }
}

但是我的响应对象数据仍然是空的。谁能指出我在这里做错了什么,或者在涉及属性时甚至不可能使用默认的 XmlDeserializer? - 这看起来很奇怪,因为他们自己的示例讨论了属性,尽管是在列表中。

谢谢。

最佳答案

好吧,看来它正在设置破坏它的根!

当我删除对

的调用时
request.RootElement = "root";

接着反序列化文档没问题。嗯...仍然有兴趣知道为什么这修复了它,因为它似乎是正确的根?

关于c# - 如何对具有属性的元素使用 RestSharp 的默认 XmlDeserializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10949865/

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