zoukankan      html  css  js  c++  java
  • 简单的XML和JSON数据的处理

    一、XML格式装换成json数据格式

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    //要使用JavaScriptSerializer需添加这个using System.Web.Script.Serialization;引用
    using System.Web.Script.Serialization;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    //要使用XDocument需添加这个using System.Xml.Linq引用
    using System.Xml.Linq;
    //要使用JsonConvert需添加这个Newtonsoft.Json.dll引用
    using Newtonsoft.Json;
    using System.Xml;
    
    public partial class xmlchange : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var xml =
            @"<Columns>
              <Column Name=""key1"">key1</Column>
              <Column Name=""key2"">key2</Column>
              <Column Name=""key3"">key3</Column>
            </Columns>";
            var dic = XDocument
                .Parse(xml)
                .Descendants("Column")
                .ToDictionary(
                    c => c.Attribute("Name").Value,
                    c => c.Value
                );
            var json = new JavaScriptSerializer().Serialize(dic);
            Label1.Text = json;
    
            xml model = JsonConvert.DeserializeObject<xml>(json);
            Label2.Text = model.key1;
            Label3.Text = model.key2;
            Label4.Text = model.key3;
            
        }
        public class xml
        {
            public string key1 { get; set; }
            public string key2 { get; set; }
            public string key3 { get; set; }
        }
    }

    二,json数据格式的序列化和反序列化

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Script.Serialization;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class jsonchange : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            test te = new test();
            te.test1 = 1;
            te.test2 = "test";
    
    
            JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
            //执行序列化
            string r1 = jsonSerializer.Serialize(te);
            Label1.Text =r1;
            //执行反序列化
            test per = jsonSerializer.Deserialize<test>(r1);
            Label2.Text = per.test1.ToString();
            Label3.Text = per.test2;
        }
        public class test
        {
            public int test1 { get; set; }
            public string test2 { get; set; }
        }
    }

     三,处理接口返回的报文XML数据方法,并将二进制生成图片

     XmlDocument doc = new XmlDocument();
                doc.LoadXml(RetrunString);
                XmlElement root = doc.DocumentElement;
                string nameSpace = root.NamespaceURI;
                XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
                nsmgr.AddNamespace("SOAP-ENV", nameSpace);
                string value = doc.SelectSingleNode("/SOAP-ENV:Envelope/SOAP-ENV:Body/ProcessShipmentReply/CompletedShipmentDetail/CompletedPackageDetails/", nsmgr).InnerText;
                byte[] imageBytes1 = Convert.FromBase64String(value);
                System.IO.MemoryStream ms = new System.IO.MemoryStream(imageBytes1);
                System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
  • 相关阅读:
    C#——Unity事件监听器
    关于RAS加解密的工具类
    关于Map的源码分析之HashMap
    关于Map的源码分析
    关于Set的源码分析
    关于集合List的源码分析
    关于String源码分析
    hdu 1285 确定比赛名次
    hdu 2553 N皇后问题
    hdu 1312 Red and Black
  • 原文地址:https://www.cnblogs.com/May-day/p/5561055.html
Copyright © 2011-2022 走看看