我有一个类似的XML字符串
<Segment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Air">
<carrier />
...
</Segment>
我使用JSON.NET将其转换为JSON,最终结果具有以下成员
@xmlns:xsi: "http://www.w3.org/2001/XMLSchema-instance"
@xsi:type: "Air"
carrier
在客户端,如何访问类型"Air"?Segment.@xsi:type
显然是非法的。
我认为您在客户端使用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"];