2013-02-15 55 views
1

我有一個格式不正確,但需要使用的XML:XML到JSON使用JSON.NET

<Users> 
<User First="aaa" Second="bbb">InnerValue</User> 
<User First="bbb" Second="">InnerValue</User> 
</Users> 

Clases定義:

public class Users 
    {    
     public List<User> User{ get; set; } 
    } 

public class User 
    {   
     [JsonProperty("@First")] 
     public string First{ get; set; } 

     [JsonProperty("@Second")] 
     public string Second{ get; set; } 

     //how to define a property to get the InnerValue 
    } 

爲了解析:

XDocument xmlDocument = XDocument.Parse(xmlData); 
string jsonData = JsonConvert.SerializeXNode(xmlDocument); 
Users users = JsonConvert.DeserializeObject<Users>(jsonData); 

所以一切都很好地反序列化,但如何獲得內在價值?

+0

我不明白,究竟是什麼問題呢? – svick 2013-02-15 16:21:39

+0

我無法得到InnerValue,正如我所解釋的。 – 2013-02-15 16:22:58

+0

嘿@plurby使用Json.net的任何特殊原因? – Baljeetsingh 2013-02-15 16:34:12

回答

1

爲了讓你必須使用[JsonProperty("#text")]所以更新內在價值:

public class User 
    {   
     [JsonProperty("@First")] 
     public string First{ get; set; } 

     [JsonProperty("@Second")] 
     public string Second{ get; set; } 

     [JsonProperty("#text")] 
     public string InnerValue { get; set; } 
    }