2012-03-30 85 views
0

我有這樣XML到JSON轉換訪問成員

<Segment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Air"> 
    <carrier /> 
    ... 
</Segment> 

XML字符串我使用JSON.NET將其轉換成JSON和最終結果具有以下成員

@xmlns:xsi: "http://www.w3.org/2001/XMLSchema-instance" 
@xsi:type: "Air" 
carrier 

在客戶端,我如何訪問「Air」類型? [email protected]:type顯然是非法的。

回答

2

我認爲你在客戶端使用Json.Net。

XmlDocument xDoc = new XmlDocument(); 
xDoc.LoadXml(xstr); 
string jsonText = JsonConvert.SerializeXmlNode(xDoc); 


JObject jObj = (JObject)JsonConvert.DeserializeObject(jsonText); 
string air = jObj["Segment"]["@xsi:type"].ToString(); 
//or 
dynamic jObj = JsonConvert.DeserializeObject(jsonText); 
string air = jObj.Segment["@xsi:type"]; 
+0

這也適用於jquery客戶端!真棒!謝了哥們。 – Laguna 2012-03-30 15:19:12