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的更多相关文章

  1. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  2. 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据

    有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...

  3. C# XML转JSON,不引用第三方JSON.NET类库

    应用场景:需要调用第三方接口(返回XML)数据,然后供自己多个系统使用(涉及跨域,使用JSONP) 代理:调用接口(把XML转换为JSONP解决跨域问题) B/S应用系统:调用代理返回的数据进行UI显 ...

  4. SQL2008使用json.net实现XML与JSON互转

    借助CLR,首先实现字符串的互转,然后使用存储过程实现JSON2table     public class JsonFunction    {        /// <summary> ...

  5. [Network] HTML、XML和JSON学习汇总

    写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...

  6. XML和JSON数据格式对比

    概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...

  7. xml和json的区别

    本文转自SanMaoSpace的博客 链接地址如下:http://www.cnblogs.com/SanMaoSpace/p/3139186.html 1.定义介绍 (1).XML定义扩展标记语言 ( ...

  8. C#中XML和json互相转换

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xm ...

  9. 数据解析(XML和JSON数据结构)

    一   解析 二 XML数据结构 三 JSON 数据结构     一 解析 1  定义: 从事先规定好的格式中提取数据     解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照 ...

  10. ASP.NET中的XML和JSON

    一.DOM简介 1.XML 定义:XML是一种跨语言.跨平台的数据储存格式 2.什么是DOM DOM(document object model)文档对象模型:是一种允许程序或脚本动态的访问更新文档内 ...

随机推荐

  1. Redis 的 5 个常见使用场景

    2015-07-22 23:31:46 本文由 伯乐在线 - 刘晓鹏 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Joe Engel.欢迎加入翻译组. 在这篇文章中,我们将阐述 Redis 最常 ...

  2. hdu1503 最长公共子序列变形

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1503 题意:给出两个字符串 要求输出包含两个字符串的所有字母的最短序列.注意输出的顺序不能 ...

  3. 《DSP using MATLAB》示例Example4.4

    代码: x1 = [2, 3, 4]; x2 = [3, 4, 5, 6]; % x1 x2 sequences % n1 = 0:1:2; n2 = 0:1:3; n1 = 0:1:length(x ...

  4. RedHat5.1下安装Seismic Unix44R1

    以前安装过好几次,在这里总结下.不足之处,欢迎批评指正. 用su44用户登录,修改环境变量(~/.bash_profile文件中添加) export CWPROOT=/home/`whoami`/cw ...

  5. spring优化使用

    1.bean由框架填充,避免手写优化代码. 2.view的展示通过配置或注解实现最优化使用架构. 待续...

  6. constructor

    function Person(name){ this.name = name; } Person.prototype = { constructor : Person, sayName : func ...

  7. hdu 5459 Jesus Is Here (费波纳茨递推)

    Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/102400 K (Java/Others)Total Submission ...

  8. .Net 连接Oracle 数据库写法

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  9. http://chenzhou123520.iteye.com/blog/1811340

    http://chenzhou123520.iteye.com/blog/1811340

  10. Docker中搭建Hadoop-2.6单机伪分布式集群

    1 获取一个简单的Docker系统镜像,并建立一个容器. 1.1 这里我选择下载CentOS镜像 docker pull centos 1.2 通过docker tag命令将下载的CentOS镜像名称 ...