我正在尝试使用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? - 这看起来很奇怪,因为他们自己的例子讨论了属性,尽管在列表中。
感谢。
答案 0 :(得分:0)
好吧,它似乎正在设置打破它的根!
当我删除了对
的调用request.RootElement = "root";
它继续反序列化文档没问题。嗯...有兴趣仍然知道为什么这个修复它似乎是正确的根?