我有一个像
这样的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
显然是非法的。
答案 0 :(得分: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"];