C#中访问成员的XML到JSON转换



我有一个类似的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"];

相关内容

  • 没有找到相关文章

最新更新