zoukankan      html  css  js  c++  java
  • asp.net XML转JSON

    先用Linq查询XML节点,再转换成List或Model,再用Json.NET转为Json

    好处是可以随时返回List

    XML

    <?xml version="1.0" encoding="utf-8" ?>
        <Users>
            <User ID="111111">
            <name>EricSun</name>
            <password>123456</password>
            <description>Hello I'm from Dalian</description>
        </User>
        <User ID="222222">
            <name>Ray</name>
            <password>654321</password>
            <description>Hello I'm from Jilin</description>
            </User>
        </Users>

    C#代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Xml.Linq;
    using Newtonsoft.Json;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<User> list = new List<User>();
                List<User> list2 = new List<User>();
    
                XElement rootNode = XElement.Load(@"D:\234.xml");
    
                //第一种查询
                var mynode = (from r in rootNode.Descendants("User")
                              select r).ToList();
    
                foreach (var item in mynode)
                {
                    User model = new User();
                    model.name = item.Element("name").Value;
                    model.password = item.Element("password").Value;
                    model.description = item.Element("description").Value;
                    list.Add(model);
                }
                //第一种查询结束
    
                //转换为JSON
                string json = JsonConvert.SerializeObject(list);
    
                //第二种查询
                var mynode2 = from r2 in rootNode.Descendants("User")
                              select new
                                  {
                                      Name = r2.Element("name").Value,
                                      Password = r2.Element("password").Value,
                                      Description = r2.Element("description").Value
                                  };
    
                foreach (var item in mynode2)
                {
                    User model = new User();
                    model.name = item.Name;
                    model.password = item.Password;
                    model.description = item.Description;
                    list2.Add(model);
                }
               //第二种查询结束
    
                //转换为JSON
                string json2 = JsonConvert.SerializeObject(list2);
    
    
                Console.ReadKey();
            }
        }
    
        public class User
        {
            public string name { get; set; }
    
            public string password { get; set; }
    
            public string description { get; set; }
        }
    }
  • 相关阅读:
    手把手教你如何逐步安装OpenStack
    掌握OpenStack部署的最佳实践 打破部署失败的魔咒
    大数据服务大比拼:AWS VS. AzureVS.谷歌
    fullcalender
    也谈---基于 HTTP 长连接的“服务(转载)
    调用页面脚本
    mssql 低版本数据库 使用高版本的命令
    行变列 pivot
    HighCharts -在包含容器尺寸发生变化时重新渲染
    ES6 import export
  • 原文地址:https://www.cnblogs.com/hantianwei/p/2440004.html
Copyright © 2011-2022 走看看