简单的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 = ;
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);
简单的XML和JSON数据的处理的更多相关文章
- 实现页面查看xml或json数据类似控制台效果
在前端查看xml或者json数据时,实现在类似与控制台中console的效果. 配合Ant Design的Collapse折叠面板进行展示. Collapse组件的地址:https://ant.des ...
- 简单一招实现json数据可视化
开发一个内部功能时碰到的需求,要把json数据在页面上展示出来,平时浏览器会安装jsonView这样的扩展来看json数据,但是程序要用到的话该怎么办呢?今天在网上搜索的时候,发现了这个小技巧,分享一 ...
- 使用 AFNetworking 进行 XML 和 JSON 数据请求
(1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLD ...
- Ajax读取XML和JSON数据
Ajax从服务器获取的数据都是字符串,但是通过不同的解析,可以解析为XML或者JSON. 一般来说.使用XML格式的数据比较通用,但是服务器和客户端解析起来都比较复杂一些;而使用JSON语句话,服务端 ...
- 最简单简洁高效的Json数据解析
一.无图无真相 二.主要代码 1.导入jar包 拷贝fastjson.jar包到projectlibs包下 2.封装工具类JsonUtil.java package com.example.parse ...
- 使用solr将CSV/XML/DB/JSON数据发布为Rest Service
Download http://lucene.apache.org/solr/downloads.html Apache Solr入门基础——Windows下安装与配置 https://blog.cs ...
- iOS高级编程之XML,JSON数据解析
解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.X ...
- ios解析XML和json数据
解析的基本概念所谓“解析”:从事先规定好的格式串中提取数据解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据iOS开发常见的解析:XML解析.JSON解析 一.XML数 ...
- 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据
有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...
随机推荐
- 使用vim配置方案spf13中碰到的一些问题
目的:达到我自己自定义安装插件的目的 安装YCM(YouCompleteMe)自动补全神器之前的准备 先安装编译环境: 1 2 sudo apt-get install build-essential ...
- Object-Widgets-Quick 构造树
Object Tree 当以某个QObject为父类创建一个QObject时, 它会被添加到该父类的children列表中. 析构时, QObjet 会首先检查自己的children, 依次析构, 然 ...
- To the end
身为一名初二狗的我也走过了半年.不管怎么说人生中也没有几个半年嘛.从九月到现在快四个月了,我也离中考越来越近了/郁闷/.但是还是要好好过唔.不过我想起这半学期还是挺充实的,至少没有浪费太多的时间.有些 ...
- 切换self.window.rootViewController根视图,导致上一视图控制器不能释放销毁的问题
在我们APP开发中经常有首次进入应用先进入引导页或者登陆页的情况,类似下图所示 发现登陆以后更改window.rootViewController为应用首页时,登陆页没有销毁掉,通过图层工具 ...
- <hdu - 1600 - 1601> Leftmost Digit && Rightmost Digit 数学方法求取大位数单位数字
1060 - Leftmost Digit 1601 - Rightmost Digit 1060题意很简单,求n的n次方的值的最高位数,我们首先设一个数为a,则可以建立一个等式为n^n = a * ...
- Objective-C Runtime 运行时之四:Method Swizzling(转载)
理解Method Swizzling是学习runtime机制的一个很好的机会.在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文. Me ...
- 一个用于上传文件的servlet
1.jsp页面操作文件: <%@ page language="java" import="java.util.*" pageEncoding=" ...
- USACO 3.2 Contact
ContactIOI'98 The cows have developed a new interest in scanning the universe outside their farm wit ...
- css3-文字旋转
<meta charset="utf-8"/><style> * {margin: 0; padding: 0;} ul { height: 80px; b ...
- linux(x64)下安装Matlab 2015b破解版(含安装包)
注意:在安装前请查看安装目录是否有足够空间!完全安装大概需要12G的空间!本人在安装后系统盘满了,导致无法启动图形界面.小伙伴们不要重蹈覆辙~ Environment Linux debian8 (x ...