如何使用 Newtonsoft.json 将 XML 转换成 Json,并将 Json 转换回 XML?
Json.NET 支持使用 XmlNodeConverter 将 JSON 转换成 XML,反之亦然。
在两种格式之间进行转换时,元素、属性、文本、注释、字符数据、处理指令、名称空间以及 XML 声明全都保留。
SerializeXmlNode
JsonConvert 有两个用于在 JSON 和 XML 之间进行转换的帮助器方法。第一个是 SerializeXmlNode()。此方法采用一个 XmlNode,并将其序列化为 JSON 文本。
DeserializeXmlNode
JsonConvert 上的第二个帮助器方法是 DeserializeXmlNode()。此方法采用 JSON 文本,并将其反序列化为一个 XmlNode。
示例 1
static void Main(string[] args) { string xml = @"Alanhttp://www.google1.com Admin1"; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string json = JsonConvert.SerializeXmlNode(doc); Console.WriteLine(json); Console.ReadLine(); }
输出
{"person":{"@id":"1","name":"Alan","url":"http://www.google1.com","role":"Admin1"}}
示例 2
static void Main(string[] args) { string json = @"{ '?xml': { '@version': '1.0', '@standalone': 'no' }, 'root': { 'person': [ { '@id': '1', 'name': 'Alan', 'url': 'http://www.google1.com' }, { '@id': '2', 'name': 'Louis', 'url': 'http://www.yahoo1.com' } ] } }"; XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json); Console.WriteLine(json); Console.ReadLine(); }
输出
'?xml': { '@version': '1.0', '@standalone': 'no' }, 'root': { 'person': [ { '@id': '1', 'name': 'Alan', 'url': 'http://www.google1.com' }, { '@id': '2', 'name': 'Louis', 'url': 'http://www.yahoo1.com' } ] }
广告