2012-06-08 53 views
3

我試圖用RestSharp消耗第三方REST Web服務,我有一些麻煩的默認XML序列化與我又回到了XML的元素。如何使用RestSharp的默認XmlDeserializer與屬性

的XML是形式 -

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

我request.RootElement設置爲「根」和我最初試圖創建下列對象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

好了,看來它是設置根分手了!

當我刪除調用

request.RootElement = "root"; 

它繼續反序列化的文檔沒有問題。嗯...有興趣仍然知道爲什麼這個固定它,因爲它似乎是正確的根?