从C#的JSON到XML转换 [英] JSON to XML Conversion in C#

查看:1224
本文介绍了从C#的JSON到XML转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在使用Json.Net来将JSON解析为对象并转换为XMLDocument,但是我得到了

I've been using Json.Net to parse JSON to object and convert to XMLDocument but I got

InvalidOperationException此文档已经有一个 "DocumentElement"节点.

InvalidOperationException This document already has a 'DocumentElement' node.

我有以下JSON数据:

I have this JSON data:

{
   "data": [
      {
         "name": "Eros Harem",
         "id": "2345123465"
      },      
      {
         "name": "Vincent Dagpin",
         "id": "56783567245"
      },
      {
         "name": "Vrynxzent Kamote",
         "id": "3456824567"
      }
   ],
   "paging": {
      "next": "nextURLHere"
   }
}

这是我的代码

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

namespace JsonToXML
{
    class Program
    {
        static void Main(string[] args)
        {
            string json = File.ReadAllText("friends.json");

            // To convert JSON text contained in string json into an XML node
            XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json);
        }
    }
}

我错过了一些设置吗?

我希望有类似这样的输出.

I expect to have something like this as output.

<?xml version="1.0"?>
<friends>    
    <data>
        <name>Eros Harem</name>
        <id>2345123465</id>        
    <data>
        <name>Vincent Dagpin</name>
        <id>56783567245</id>        
    </data>
    <data>
        <name>Vrynxzent Kamote</name>
        <id>3456824567</id>        
    </data>
    <paging>
    <next>nextURLHere</next>
    </paging>
</friends>

推荐答案

我认为您需要的是json中的根元素.这是XML所需要的.

What you need is a root element in your json I think. which is what XML needs.

我认为您可以通过

XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json, "friends");

这篇关于从C#的JSON到XML转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆