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; }
        }
    }
  • 相关阅读:
    js apply 和call的区别
    TensorFlow 便捷的实现机器学习 三
    logistic regression model
    特征工程
    生成模式以及判别模式
    PCA降维技术
    TensorFlow 入门之手写识别CNN 三
    机器学习学习笔记1
    TensorFlow 入门之手写识别(MNIST) softmax算法 二
    TensorFlow 入门之手写识别(MNIST) 数据处理 一
  • 原文地址:https://www.cnblogs.com/hantianwei/p/2440004.html
Copyright © 2011-2022 走看看