小編給大家分享一下List集合序列化寫入Xml文件的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站專注于大興安嶺網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供大興安嶺營(yíng)銷型網(wǎng)站建設(shè),大興安嶺網(wǎng)站制作、大興安嶺網(wǎng)頁設(shè)計(jì)、大興安嶺網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造大興安嶺網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供大興安嶺網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
序列化 (Serialization)將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^程。在序列化期間,對(duì)象將其當(dāng)前狀態(tài)寫入到臨時(shí)或持久性存儲(chǔ)區(qū)。以后,可以通過從存儲(chǔ)區(qū)中讀取或反序列化對(duì)象的狀態(tài),重新創(chuàng)建該對(duì)象。
序列化使其他代碼可以查看或修改那些不序列化便無法訪問的對(duì)象實(shí)例數(shù)據(jù)。確切地說,代碼執(zhí)行序列化需要特殊的權(quán)限:即指定了 SerializationFormatter 標(biāo)志的 SecurityPermission。在默認(rèn)策略下,通過 Internet 下載的代碼或 Intranet 代碼不會(huì)授予該權(quán)限;只有本地計(jì)算機(jī)上的代碼才被授予該權(quán)限。
通常,對(duì)象實(shí)例的所有字段都會(huì)被序列化,這意味著數(shù)據(jù)會(huì)被表示為實(shí)例的序列化數(shù)據(jù)。這樣,能夠解釋該格式的代碼有可能能夠確定這些數(shù)據(jù)的值,而不依賴于該成員的可訪問性。類似地,反序列化從序列化的表示形式中提取數(shù)據(jù),并直接設(shè)置對(duì)象狀態(tài),這也與可訪問性規(guī)則無關(guān)。
對(duì)于任何可能包含重要的安全性數(shù)據(jù)的對(duì)象,如果可能,應(yīng)該使該對(duì)象不可序列化。如果它必須為可序列化的,請(qǐng)嘗試生成特定字段來保存不可序列化的重要數(shù)據(jù)。如果無法實(shí)現(xiàn)這一點(diǎn),則應(yīng)注意該數(shù)據(jù)會(huì)被公開給任何擁有序列化權(quán)限的代碼,并確保不讓任何惡意代碼獲得該權(quán)限。
總結(jié)來說:序列化是將一個(gè)復(fù)雜的對(duì)象轉(zhuǎn)換流,方便我們的存儲(chǔ)與信息交換。在安全方面自己了解的也不是太多,主要是如果一些信息要保密,就定義它為不可被序列化的,防止他人進(jìn)行反序列化得知。
(1)首先創(chuàng)建一個(gè)person類,其中包括name,age,email三個(gè)屬性。
<span style="font-family:Microsoft YaHei;font-size:18px;">public class person
{
public string Name
{
set;
get;
}
[XmlIgnore]
public int Age
{
get;
set;
}
public string Email
{
get;
set;
}
}</span>注意:上面代碼中[XmlIgnore]是對(duì)Age屬性不可序列化操作。這是Xml序列化器專有的不可序列化特性。對(duì)于其他對(duì)象就是用[NonSerialized]。
(2)通過list集合添加數(shù)據(jù)實(shí)現(xiàn)xml序列化
<span style="font-family:Microsoft YaHei;font-size:18px;">List<person> list=new List<person> ();
list.Add(new person() { Name = "istari", Age = 22, Email = "1061399756@qq.com" });
list.Add(new person() { Name = "ss", Age = 22, Email = "1061399756@qq.com" });
list.Add(new person() { Name = "ww", Age = 22, Email = "521@qq.com" });
//實(shí)現(xiàn)xml序列化
XmlSerializer xml = new XmlSerializer(typeof(List<person>));
using (FileStream fs=File.OpenWrite ("List.xml"))
{
xml.Serialize(fs, list);
}
Console.WriteLine("OK");
Console.ReadKey();</span>(3)Result
<span style="font-family:Microsoft YaHei;font-size:18px;"><?xml version="1.0"?> <ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <person> <Name>istari</Name> <Email>1061399756@qq.com</Email> </person> <person> <Name>ss</Name> <Email>1061399756@qq.com</Email> </person> <person> <Name>ww</Name> <Email>521@qq.com</Email> </person> </ArrayOfPerson></span>
以上是“List集合序列化寫入Xml文件的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:List集合序列化寫入Xml文件的示例分析
URL鏈接:http://www.chinadenli.net/article34/ipphpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、營(yíng)銷型網(wǎng)站建設(shè)、商城網(wǎng)站、建站公司、企業(yè)建站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)