XML入门二

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: XML入门二

Xml基础02

几种序列化方式和反序列化:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace day29test03
{
   
    public partial class Form1 : Form
    {
   
        public Form1()
        {
   
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
   
            //声明对象方式
            Person person = new Person();
            person.Age = 20;
            person.Name = "qew";
            person.Height = 1777;

            //序列方式 基本的xml序列化
            System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(Person));

            System.IO.TextWriter yw = new System.IO.StreamWriter(@"F:\.net学习\test\xmldeemp1\1.xml");
            xmlSerializer.Serialize(yw, person);
            yw.Dispose();

            //二进制序列化 通用性强
            System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();

            //soap序列化 用于网络上传输数据
            //SoapSeriailzation

            //输出序列化后的流
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            xmlSerializer.Serialize(ms, person);

            //缓冲过的
            byte[] ns = ms.GetBuffer();
            String str = System.Text.Encoding.UTF8.GetString(ns);
            MessageBox.Show(str);
            //没经过缓冲的
            //byte[] vs = ms.ToArray();
        }

        private void button2_Click(object sender, EventArgs e)
        {
   
            //反序列化
            System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(Person));
            System.IO.TextReader tr = new System.IO.StreamReader(@"F:\.net学习\test\xmldeemp1\1.xml");
            Person p = (Person)xmlSerializer.Deserialize(tr);
            //xmlSerializer.Deserialize();
        }
    }
    [System.Xml.Serialization.XmlRoot("mtxml", Namespace="www.nb.com")]
    public class Person
    {
   
        private String name;
        private int age;
        private double height;

        public string Name {
    get => name; set => name = value; }
        public int Age {
    get => age; set => age = value; }
        public double Height {
    get => height; set => height = value; }
    }
}
目录
相关文章
|
6月前
|
XML Java 数据格式
一.Xml建模之入门
一.Xml建模之入门
38 1
|
8月前
|
XML 存储 数据处理
Python XML处理初级篇:入门lxml库
在数据处理过程中,XML(可扩展标记语言)常常被用作数据存储和传输。Python的lxml库是一个强大的库,用于解析XML和HTML文档。本文将向您介绍如何使用lxml库来解析和处理XML文档。
|
4月前
|
XML Java 数据库连接
Spring Data JPA入门简解与XML配置实现
Spring Data JPA入门简解与XML配置实现
102 0
|
6月前
|
XML 设计模式 数据格式
XML基础入门:关于XML建模
XML基础入门:关于XML建模
20 0
|
6月前
|
XML 安全 数据格式
XML基础入门:关于XML解析
XML基础入门:关于XML解析
36 0
|
6月前
|
XML 数据格式
XML基础入门:关于DTD知识点
XML基础入门:关于DTD知识点
36 0
|
6月前
|
XML 存储 缓存
XML入门三
XML入门三
43 0
|
6月前
|
XML 存储 JavaScript
XML入门一
XML入门一
53 0
|
6月前
|
XML 数据管理 数据处理
XML入门,之dtd属性与元素详解
XML入门,之dtd属性与元素详解
27 1
|
7月前
|
XML Java 数据库
Spring入门-IOC和XML配置 3
Spring入门-IOC和XML配置
37 0

相关课程

更多