asp.net XML转JSON

简介: 先用Linq查询XML节点,再转换成List或Model,再用Json.NET转为Json 好处是可以随时返回List XML EricSun 123456 Hello I'm from Dalian ...

先用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; }
    }
}
目录
相关文章
|
1月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)
76 3
|
1月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
56 2
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
|
16天前
|
XML JSON 前端开发
初学者指南:JSON 和 XML 的区别
当我们讨论数据交换格式时,JSON(JavaScript对象表示法)和 XML(可扩展标记语言)无疑是最受欢迎的两种选择。这两者各有优点和缺点,根据具体的应用场景,选择合适的格式可以显著提高开发效率和系统性能。
|
1月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
20 3
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
|
1月前
|
XML 存储 JSON
c#XML、JSON的序列化和反序列化,看完你就懂了
c#XML、JSON的序列化和反序列化,看完你就懂了
36 0
|
1月前
|
XML JSON 前端开发
【Web 前端】XML和JSON的区别?
【4月更文挑战第22天】【Web 前端】XML和JSON的区别?
【Web 前端】XML和JSON的区别?
|
1月前
|
XML JSON 中间件
中间件数据格式JSON与XML之间的转换
中间件数据格式JSON与XML之间的转换
32 3
|
1月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
84 0
|
1月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
32 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
38 0