XML于JSON
XML:可拓展的标记语言(跨平台数据表现)用于保存数据
XML:标记需要关闭 ;单根性
.NET中DOM常用对象:
XmlDocument :一个XML文档
XmlNode:xml中的单个节点
XmlNodeList:排序的节点集合
XmlElement:表示一个元素
XmlAttribute:表示一个属性
XmlAttributeCollection:元素节点的属性集合
XmlText:元素属性的文本类容
eg:
<students>
<student id="1" age="20">张三</student>
</students>
元素是XML文档的核心
XmlElement 表示XM文档中的元素节点 派生自XmlNode类
XmlElement常用属性:
Attributes:获取一个XmlAttributeCollection,包含该元素的所有属性
ChildNodes:所有子节点
NodeType:节点类型
Value:节点值
解析XML
//实例化一个xmlDocument对象 XmlDocument doc = new XmlDocument();
//服务器路径
string path = Server.MapPath(@"~\class.xml");
//加载xmlDocument
doc.Load(path);
//得到文档根节点
XmlNode root = doc.DocumentElement;
string info = "";
foreach (XmlNode item in root.ChildNodes)
{
foreach (XmlNode itemc in item.ChildNodes)
{
info += itemc.Value + "<br/>";
}
}
Response.Write(info);
写入XML:
//创建xml文档描述
XmlDeclaration decl = doc.CreateXmlDeclaration("1.0", "utf-8", null);
//创建根节点
XmlNode root = doc.CreateNode(XmlNodeType.Element, "students", null);
//子节点
XmlNode class1 = doc.CreateNode(XmlNodeType.Element, "student", null);
//文档节点
XmlNode clasName = doc.CreateNode(XmlNodeType.Text, null, null);
//赋值
clasName.Value = "赵六";
//属性节点
XmlAttribute classCa = doc.CreateAttribute("stuNo");
classCa.Value = "004";
XmlAttribute classAge = doc.CreateAttribute("age");
classAge.Value = "20";
class1.AppendChild(clasName); class1.Attributes.Append(classCa); class1.Attributes.Append(classAge);
root.AppendChild(class1);
doc.AppendChild(root);
string mathX = Server.MapPath(@"~\class.xml");
doc.Save(mathX);
JSON:轻量级的数据交换格式(容易阅读和编写,利于机器解析和生成)
JSON构成:键值对的集合
eg:
{"name":"张三","age":20,....}
数组: {"students":[{},{}]}
JSON的序列化与反序列化:
引入命名空间:using system.Runtime.Serialization,Json;
实例化:
JavaScriptSerializer js = new JavaScriptSerializer();
反序列化: js.Deserialize();
序列化: js.Serialize();
XML与JSON对比:
1,客户端:json更容易被序列化为javascript对象
2,服务器:传输的是xml字符串,
3,安全性:json容易携带恶意代码
4,性能:json没有多种标记,解析起来更快
5,验证:xml更成熟
XML于JSON的更多相关文章
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据
有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...
- C# XML转JSON,不引用第三方JSON.NET类库
应用场景:需要调用第三方接口(返回XML)数据,然后供自己多个系统使用(涉及跨域,使用JSONP) 代理:调用接口(把XML转换为JSONP解决跨域问题) B/S应用系统:调用代理返回的数据进行UI显 ...
- SQL2008使用json.net实现XML与JSON互转
借助CLR,首先实现字符串的互转,然后使用存储过程实现JSON2table public class JsonFunction { /// <summary> ...
- [Network] HTML、XML和JSON学习汇总
写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...
- XML和JSON数据格式对比
概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...
- xml和json的区别
本文转自SanMaoSpace的博客 链接地址如下:http://www.cnblogs.com/SanMaoSpace/p/3139186.html 1.定义介绍 (1).XML定义扩展标记语言 ( ...
- C#中XML和json互相转换
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xm ...
- 数据解析(XML和JSON数据结构)
一 解析 二 XML数据结构 三 JSON 数据结构 一 解析 1 定义: 从事先规定好的格式中提取数据 解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照 ...
- ASP.NET中的XML和JSON
一.DOM简介 1.XML 定义:XML是一种跨语言.跨平台的数据储存格式 2.什么是DOM DOM(document object model)文档对象模型:是一种允许程序或脚本动态的访问更新文档内 ...
随机推荐
- 第二个div+css前端项目
先展示效果图: 为了看全景,截图有点挫.实际效果比这个好一点. 通过 text-overflow可以隐藏多出的文字,而不会吧把div撑开或者溢出. html代码: <!DOCTYPE html& ...
- SSH无密码登录配置小结
ssh-keygen -t rsa //-t指定算法 将公钥复制到被管理机器上面 ssh-copy-id -i ~/.ssh/id_rsa.pub 172.29.0.89 ssh-copy-id -i ...
- express-16 与生产相关的问题2
处理未捕获的异常 在Node的异步世界中,未捕获的异常是特别需要关注的问题 app.get('/fail', function(req, res){ throw new Error('Nope!'); ...
- 基于netty的微服务架构
基于netty的微服务架构 微服务一篇好文章 http://san-yun.iteye.com/blog/1693759 教程 http://udn.yyuap.com/doc/essential-n ...
- linux命令缩写及全称
apt = Advanced Packaging Tool ar = archiver as = assembler awk = "Aho Weiberger and Kernighan&q ...
- 【CLR in c#】属性
1.无参属性 1.为什么有字段还需要属性呢? 因为字段很容易写出不恰当的代码,破坏对象的状态,比如Age=-1.人的年纪不可能为负数.使用属性后你可以缓存某些值或者推迟创建一些内部对象,你可以以线程安 ...
- node.js链接mysql
node.js连接数据库有很多种,比如:mongoose,oracle,mysql...,我自己玩就选了一个我很熟悉的轻量级的mysql数据库尝试了一把,感觉不错. 首先要把mysql客户端安装好,官 ...
- UVa 10806 & 费用流+意识流...
题意: 一张无向图,求两条没有重复的从S到T的路径. SOL: 网络流为什么屌呢..因为网络流的容量,流量,费用能对许许多多的问题进行相应的转化,然后它就非常的屌. 对于这道题呢,不是要没有重复吗?不 ...
- Android作业分组与选题
期末大作业 序号 题目 组员分工 完成度 1 基于安卓系统的游戏开发 2 设计一个安卓手机小游戏 3 Android平台应用——音乐播放器设计 4 基于Android技术的个人博客 5 电子阅读器 6 ...
- 转载:CSS3 Flexbox可视化指南
0. 目录 目录 引言 正文 1 引入 2 基础 3 使用 4 弹性容器Flex container属性 41 flex-direction 42 flex-wrap 43 flex-flow 44 ...