首页 > 代码库 > C# testJsonAsXMLNodeAttribute - XML& json & Collections - XmlNode, XmlElement, XmlAttribute,Dictionary,List
C# testJsonAsXMLNodeAttribute - XML& json & Collections - XmlNode, XmlElement, XmlAttribute,Dictionary,List
testJsonAsXMLNodeAttribute
using Newtonsoft.Json;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml;namespace ParseXML{ class Program { static void Main(string[] args) { testJsonAsXMLNodeAttribute(); } public static void testJsonAsXMLNodeAttribute() { string path = @"D:\testSSGeneration\XMLforTestSSGeneration.xml"; string outpath = @"D:\testSSGeneration\xmlWithFunAttr.xml"; // 1. read xml and insert a json result as a attribute of root node XmlDocument doc = new XmlDocument(); doc.Load(path); XmlNode root = doc.FirstChild; XmlElement xe = (XmlElement)root; ;//将子节点类型转换为XmlElement类型 List<string> list = new List<string>(); list.Add("param1"); list.Add("param2"); Dictionary<string, List<string>> dic = new Dictionary<string, List<string>>(); dic.Add("ff1", list); dic.Add("ff2", list); //序列化对象 string jsonStr = JsonConvert.SerializeObject(dic);//将对象转换成json存储 xe.SetAttribute("Func", jsonStr); // 2. serilization to XMLFile doc.Save(outpath);//保存 // 3. deserilization to XMLFile XmlDocument testxmlDoc = new XmlDocument(); testxmlDoc.Load(outpath); XmlNode testroot = testxmlDoc.FirstChild; XmlAttributeCollection attrlist = testroot.Attributes; XmlAttribute fffattr = attrlist["Func"]; Console.WriteLine("fffattr.Value: " + fffattr.Value); // 4. 将json转换成对象 Console.WriteLine("fffattr.Value - json"); Dictionary<string, List<string>> testdic = JsonConvert.DeserializeObject<Dictionary<string, List<string>>>(fffattr.Value); foreach (KeyValuePair<string, List<string>> kvp in testdic) { Console.WriteLine("key={0},value=http://www.mamicode.com/{1}", kvp.Key, kvp.Value[0]); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。