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; }
}
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);
输出:
<?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>
模型类中的字段可以根据实际情况定义,是模型类,只是一个示例而已。数据的字符串看,可以看出,每个属性字段都被序列化到了一个节点了。
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);
输出:
<?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>
列表中的元素可以任意添加,目前只有3个对象集合,只是做演示,可以看出,集合中的每个对象都被序列化了。
网友评论