当前位置:   article > 正文

C# 序列化自定义对象_c# 自定义序列化

c# 自定义序列化
1. 首先自定义一个数据模型类

例如 TestResult.cs

public class TestResult
 {
       public string TestPointName { get; set; }
       public int TestPointID { get; set; }
       public double TestValue { get; set; }
       public bool TestStatus { get; set; }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2. 创建一个实例序列化
using System.Xml.Serialization;

TestResult tr = new TestResult { TestPointID = 12, TestPointName = "VolatgeTest", TestValue = 3.07, TestStatus = true };

XmlSerializer sr = new XmlSerializer(typeof(TestResult));
sr.Serialize(Console.Out, tr);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输出:

<?xml version="1.0" encoding="gb2312"?>
<TestResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <TestPointName>VolatgeTest</TestPointName>
  <TestPointID>12</TestPointID>
  <TestValue>3.07</TestValue>
  <TestStatus>true</TestStatus>

</TestResult>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

模型类中的字段可以根据实际情况定义,是模型类,只是一个示例而已。数据的字符串看,可以看出,每个属性字段都被序列化到了一个节点了。

3. 创建实例集合序列化
List<TestResult> results = new List<TestResult>();

results.Add(new TestResult { TestPointID = 12, TestPointName = "VolatgeTest", TestValue = 3.07, TestStatus = true });

results.Add(new TestResult { TestPointID = 13, TestPointName = "CurrentTest", TestValue = 0.221, TestStatus = true }); 

results.Add(new TestResult { TestPointID = 14, TestPointName = "TemparTest", TestValue = 0.1, TestStatus = false });

XmlSerializer sr = new XmlSerializer(typeof(List<TestResult>));

sr.Serialize(Console.Out, results);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

输出:

<?xml version="1.0" encoding="gb2312"?>
<ArrayOfTestResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <TestResult>
    <TestPointName>VolatgeTest</TestPointName>
    <TestPointID>12</TestPointID>
    <TestValue>3.07</TestValue>
    <TestStatus>true</TestStatus>
  </TestResult>

  <TestResult>
    <TestPointName>CurrentTest</TestPointName>
    <TestPointID>13</TestPointID>
    <TestValue>0.221</TestValue>
    <TestStatus>true</TestStatus>
  </TestResult>

  <TestResult>
    <TestPointName>TemparTest</TestPointName>
    <TestPointID>14</TestPointID>
    <TestValue>0.1</TestValue>
    <TestStatus>false</TestStatus>
  </TestResult>

</ArrayOfTestResult>

  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

列表中的元素可以任意添加,目前只有3个对象集合,只是做演示,可以看出,集合中的每个对象都被序列化了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/111839
推荐阅读
相关标签
  

闽ICP备14008679号