日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C#实现对象的Xml格式序列化及反序列化

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#实现对象的Xml格式序列化及反序列化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要序列化的對象的類:

[Serializable]
public?class?Person
{
private?string?name;
public?string?Name
{
get
{
return?name;
}
set
{
name=value;
}
}
public?string?Sex;
public?int?Age=31;
public?Course[]?Courses;

public?Person()
{
}
public?Person(string?Name)
{
name=Name;
Sex="男";
}
}
[Serializable]
public?class?Course
{
public?string?Name;
[XmlIgnore]public?string?Description;
public?Course()
{
}
public?Course(string?name,string?description)
{
Name=name;
Description=description;
}
}?

進行序列化及反序列化的測試類:

class?Test
{
//序列化
public?void?Serialiaze()
{
Person?c=new?Person("cyj")
c.Courses=new?Course[2];
c.Courses[0]=new?Course("英語","交流工具")
c.Courses[1]=new?Course("數學","自然科學")

XmlSerializer?xs=new?XmlSerializer(typeof(Person));
Stream?stream?=?new?FileStream("c://cyj.xml",?FileMode.Create,?FileAccess.Write,?FileShare.ReadWrite);
xs.Serialize(stream,?c);
stream.Close();
}
//反序列化
public?void?Deserialize()
{
XmlSerializer?xs=new?XmlSerializer(typeof(Person));
Stream?stream?=?new?FileStream("c://cyj.xml",?FileMode.Open,?FileAccess.Read,?FileShare.ReadWrite);
Person?p=(Person)xs.Deserialize(stream);
Console.WriteLine(p.Name);
Console.WriteLine(p.Age.ToString());
Console.WriteLine(p.Courses.Length.ToString());
Console.Read();
}
}

格式化后Xml的文檔內容為:
<?xml?version="1.0"?>
<Person?xmlns:xsd=http://www.w3.org/2001/XMLSchema??? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
?<Sex>男</Sex>
??<Age>31</Age>
??<Courses>
????<Course>
??????<Name>英語</Name>
????</Course>
????<Course>
??????<Name>數學</Name>
????</Course>
??</Courses>
??<Name>cyj</Name>
</Person>

?

總結

以上是生活随笔為你收集整理的C#实现对象的Xml格式序列化及反序列化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。