2012-03-30 5 views
0

私はJSON.NETはJSONにそれを変換するために使用XML C#でメンバーにアクセス

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

のようなXML文字列と最終結果は以下のメンバー

@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

関連する問題