C#将XML转换成JSON转换XML

原文:C#将XML转换成JSON转换XML

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using Newtonsoft.Json;

namespace JSonConverter
{
    class Program
    {
        static void Main(string[] args)
        {
            string xml = "<Test><Name>Test class</Name><X>100</X><Y>200</Y></Test>";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);
            string json = Newtonsoft.Json.JsonConvert.SerializeXmlNode(doc);

            Console.WriteLine("XML -> JSON: {0}", json);
            Console.ReadLine();

        }
    }
}

json2xml

 预定义的Json字符串如上

  同理调用Json.Net类库中的方法

  XmlDocument doc1 = JsonConvert.DeserializeXmlNode(json);

  Console.WriteLine(doc1.OuterXml);

XmlDocument doc2 = JsonConvert.DeserializeXmlNode(json1);

  Console.WriteLine(doc2.OuterXml);

http://dotnet.chinaitlab.com/CSharp/927201.html

http://www.tuicool.com/articles/n2Uzya

 XmlDictionaryReader reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(sJson), XmlDictionaryReaderQuotas.Max);
XmlDocument doc = new XmlDocument();
doc.Load(reader);

收藏一下吧 以后万一用的到

我试了一下,json字符串需要把键加"才行
如:{Name:"aaa",Value:1}  这里Name和Value是键这样写法转换的时候报错
需要写成
{"Name":"aaa","Value":1}

这个是第二种方法,这个键加不加"都正常翻译

  /// <summary>
        /// json字符串转换为Xml对象
        /// </summary>
        /// <param name="sJson"></param>
        /// <returns></returns>
        public static XmlDocument Json2Xml(string sJson)
        {
            //XmlDictionaryReader reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(sJson), XmlDictionaryReaderQuotas.Max);
            //XmlDocument doc = new XmlDocument();
            //doc.Load(reader);

            JavaScriptSerializer oSerializer = new JavaScriptSerializer();
            Dictionary<string, object> Dic = (Dictionary<string, object>)oSerializer.DeserializeObject(sJson);
            XmlDocument doc = new XmlDocument();
            XmlDeclaration xmlDec;
            xmlDec = doc.CreateXmlDeclaration("1.0", "gb2312", "yes");
            doc.InsertBefore(xmlDec, doc.DocumentElement);
            XmlElement nRoot = doc.CreateElement("root");
            doc.AppendChild(nRoot);
            foreach (KeyValuePair<string, object> item in Dic)
            {
                XmlElement element = doc.CreateElement(item.Key);
                KeyValue2Xml(element, item);
                nRoot.AppendChild(element);
            }
            return doc;
        }

        private static void KeyValue2Xml(XmlElement node, KeyValuePair<string, object> Source)
        {
            object kValue = Source.Value;
            if (kValue.GetType() == typeof(Dictionary<string, object>))
            {
                foreach (KeyValuePair<string, object> item in kValue as Dictionary<string, object>)
                {
                    XmlElement element = node.OwnerDocument.CreateElement(item.Key);
                    KeyValue2Xml(element, item);
                    node.AppendChild(element);
                }
            }
            else if (kValue.GetType() == typeof(object[]))
            {
                object[] o = kValue as object[];
                for (int i = 0; i < o.Length; i++)
                {
                    XmlElement xitem = node.OwnerDocument.CreateElement("Item");
                    KeyValuePair<string, object> item = new KeyValuePair<string, object>("Item", o[i]);
                    KeyValue2Xml(xitem, item);
                    node.AppendChild(xitem);
                }

            }
            else
            {
                XmlText text = node.OwnerDocument.CreateTextNode(kValue.ToString());
                node.AppendChild(text);
            }
        }
时间: 2024-08-07 01:42:06

C#将XML转换成JSON转换XML的相关文章

如何在ASP.NET中用C#将XML转换成JSON

原文http://www.cnblogs.com/jaxu/p/3296148.html 本文旨在介绍如果通过C#将获取到的XML文档转换成对应的JSON格式字符串,然后将其输出到页面前端,以供JavaScript代码解析使用. 或许你可以直接利用JavaScript代码通过Ajax的方式来读取XML,然后直接对其中的内容进行解析,这样或许更直接一些.但本文中给出的代码旨 在说明如何通过原生的C#代码来完成这一转换.除此之外,你仍然可以借用一些第三方类库或者更高级一些的.NET库对象来实施转换.

hashmap-Struts1中map转换成json传到前台时取不到值——求指点!

问题描述 Struts1中map转换成json传到前台时取不到值--求指点! 后台报这个: Property 'servlet' has no read method. SKIPPED Property 'servletFor' has no read method. SKIPPED Property 'servlet' has no read method. SKIPPED Property 'servletFor' has no read method. SKIPPED Property '

j2ee-访问有安全认证的Web Service,再转换成Json,怎么实现比较好?

问题描述 访问有安全认证的Web Service,再转换成Json,怎么实现比较好? 前台和Java后台之间用Restful Service通讯,Java端需要访问有安全认证(Username/Password Authentication)的Web Service,请求和响应的xml都蛮复杂的,xml还要和json进行转换.因为我的App Server是支持JavaEE 7的WebLogic,J2EE 7里的Jax-rs 2.0和Jsonp对restful支持蛮不错的,那访问Web Servi

JavaScript将XML转成JSON的方法_javascript技巧

本文实例讲述了JavaScript将XML转成JSON的方法.分享给大家供大家参考.具体方法如下: 1. JavaScript代码如下: 复制代码 代码如下: // Changes XML to JSON function xmlToJson(xml) {     // Create the return object     var obj = {};     if (xml.nodeType == 1) { // element         // do attributes       

C#实现集合转换成json格式数据的方法_C#教程

本文实例讲述了C#实现集合转换成json格式数据的方法.分享给大家供大家参考,具体如下: /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static string ToJson(DataTable dt) { if (dt != null

将字典或者数组转换成JSON数据或者字符串

将字典或者数组转换成JSON数据或者字符串 源码: NSDictionary+JSON.h 与 NSDictionary+JSON.m // // NSDictionary+JSON.h // Category // // Created by YouXianMing on 15-2-09. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> @interfa

Asp.net将数据库里的记录转换成json

在前面我已经写了asp的版本,最近一个项目中正好需要用json来填充下拉框,所以写了一个asp.net的将数据库里的记录转换成json,代码如下: 以下是引用片段: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; namespace OTC.Utility ...{ public sealed class JSONH

js实现数组转换成json

  本文给大家分享的是使用javascript实现的数组转换json的代码,非常简单实用,相当于JSON.stringify(array);,有需要的小伙伴可以参考下. js实现数组转换成json ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 function arrayToJson(o) { var r = []; if (typeof o == "string") return """

JavaScript将XML转成JSON的方法

 这篇文章主要介绍了JavaScript将XML转成JSON的方法,实例分析了javascript操作XML文件及格式转化的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JavaScript将XML转成JSON的方法.分享给大家供大家参考.具体方法如下: 1. JavaScript代码如下: 代码如下: // Changes XML to JSON function xmlToJson(xml) { // Create the return object var obj