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={1}", kvp.Key, kvp.Value[0]);
            }

        }

C# testJsonAsXMLNodeAttribute - XML& json & Collections - XmlNode, XmlElement, XmlAttribute,Dictionary,List

时间: 2024-12-15 01:59:41

C# testJsonAsXMLNodeAttribute - XML& json & Collections - XmlNode, XmlElement, XmlAttribute,Dictionary,List的相关文章

C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)

XML文档是一种通用的文档,这种文档既可以用.config作为后缀也可以用.xml作为后缀.XML文档主要由元素节点和节点的属性共同构成的.它有且仅有一个根节点,其他的节点全部都是根节点的子节点或者子子节点:每一个节点有开始就一定会有结束,不可能出现有开始无结束的节点,节点主要有两种类型:有InnerText的<city>……</city>和没有InnerText的<city……/>.在节点中含有属性,一个节点可以含有多个属性,每个属性是由名字和值共同构成的. 在XML

C# XML - XmlNode and XmlAttribute

1 public static string TestXML(string path) 2 { 3 4 XmlDocument doc = new XmlDocument(); 5 doc.Load(path); 6 7 XmlNode root = doc.FirstChild; 8 ParseXmlNode(root); 9 10 XmlNode nextNode = root.NextSibling; 11 while (nextNode != null) 12 { 13 ParseXml

Spring 4 MVC 视图解析器(XML JSON PDF等) 纯注解(带源码)【推荐】

原文地址:http://websystique.com/springmvc/spring-4-mvc-contentnegotiatingviewresolver-example/ [本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看.源码下载地址在文章末尾.] [翻译 by 明明如月 QQ 605283073] 下一篇:Spring 4 MVC @RestController 注解实现REST Service 上一篇:Spring 4 MVC 表单校验资源处理(带源码)

[WEB API] CLIENT 指定请求及回应格式(XML/JSON)

[Web API] Client 指定请求及响应格式(xml/json) Web API 支持的格式请参考 http://www.asp.net/web-api/overview/formats-and-model-binding 本篇则要演练xml/json 回应 Get 定义 Header:Content-Type 定义 QueryString 请求 Post POST json 数据 POST xml 数据 回应 Get 定义 Header:Content-Type 测试工具:本来想用 p

(转)iOS XML JSON SQLite CoreData 数据持久化

一.文件操作 1.因为应用是在沙盒(Sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: * Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 * tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 * Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下的文件不会在应用退出删除 2.相关方法:       # 使用NSSearchPathForDiretoriesI

对比XML JSON INIDG 三种格式

在移动与WEB开发时,避免不了服务端与客户端数据交换,需要从多种格式中找到一种合适的 主要考虑两点,数据量小,解析快速,支持工具丰富 json(JavaScript Object Notation) 一般用于WEB和移动应用的网络数据交换 优点: 可以被JS原生解析 应用广泛,适合于数据交换处理,被于WEB和移动应用开发,所以服务端与客户端一般被要求同时支持JSON 数据量小,易于解析,因为格式简单,只有数组,对象和普通文本 缺点: 肉眼可读性差, 字符类型与数值类型容易混淆 举例 ["str1

php中 xml json 数组 之间相互转换

php中 xml json  数组 之间相互转换 1 数组转json $result = array( 'status' =>$status, 'message'=>$message, 'data'=>$data, ); json_encode($result);

PHP接口开发XML/JSON数据通信类

总体类 <?php class Response{ const JSON='json'; ?> Json数据处理 /** *json format data *@param integer $code status code *@param string $message message data *@param array $data *return string */ public static function jsonEncode($code,$message='',$data=arr

XML &amp;&amp; Json

一.XML XML即可扩展标记语言(eXtensible Markup Language).标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等.如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性.XML是从SGML中简化修改出来的.它主要用到的有XML.XSL和XPath等. 上面这段是对XML的一个基本定义,一个被广泛接受的说明.简单说,XML就是一种数据的描述语言,虽然它是