• 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; }
        }
    }
  • 相关阅读:
    【BZOJ】1045: [HAOI2008]糖果传递(中位数)
    【BZOJ】1011: [HNOI2008]遥远的行星(近似)
    【BZOJ】1034: [ZJOI2008]泡泡堂BNB(贪心)
    【BZOJ】1029: [JSOI2007]建筑抢修(贪心)
    【BZOJ】1022: [SHOI2008]小约翰的游戏John(博弈论)
    【BZOJ】1010: [HNOI2008]玩具装箱toy(dp+斜率优化)
    noip2014滚粗记
    【NOIP模拟题】Permutation(dp+高精度)
    MySQL 关于自定义函数的操作
    MySQL 关于存储过程的操作
  • 原文地址:https://www.cnblogs.com/hantianwei/p/2440004.html
Copyright © 2020-2023  润新知