using system.xml;
using system.xml.serialization;
public partial class writexmlstr : system.web.ui.page
;xmlclass outxml3 = new xmlclass() ;
//正常的輸出
strxml = xmloperation.xmlserialize(outxml3, encoding.utf8);
response.write(strxml);
//測試單個list<>和繼承自list<>的類的不同輸出
listlist1 = new list;
strxml = xmloperation.xmlserialize(list1, encoding.utf8);
response.write(strxml);
listxml list2 = new listxml() ;
strxml = xmloperation.xmlserialize(list2, encoding.utf8);
response.write(strxml);
//測試string和int型別的不同,還有陣列的輸出
xmlclass listclass = new xmlclass() ;
strxml = xmloperation.xmlserialize(listclass, encoding.utf8);
response.write(strxml);
//測試具有派生類的輸出
fulei fuclass = new zilei1() ;
strxml = xmloperation.xmlserialize(fuclass, encoding.utf8);
response.write(strxml);
//測試具有派生類的陣列的輸出
fulei fuclass1 = new zilei2() ;
fulei fuclass2 = new zilei2() ;
fulei fuclass3 = new zilei2() ;
fulei fuclass4 = new fulei() ;
fulei listfu = new fulei() };
strxml = xmloperation.xmlserialize(listfu, encoding.utf8);
response.write(strxml);}}
//當單獨對陣列進行序列化的時候最好為該陣列建立乙個新的類
[xmltype("listname")]
public class listxml : list
[xmltype("xml")]
public class xmlclass
//當型別為int時總是會生成該屬性,若不賦值則值預設0
[xmlattribute("attributenameint")]
public int intattribute
//當值為"'時會生成節點的簡寫形式,其他同屬性
[xmlelement("elementnamestr")]
public string strelement
//同屬性
[xmlelement("elementnameint")]
public int intelement
//當做文字輸出,只能有乙個,必須是string型別
[xmltext]
public string strtxt
// 這個屬性將不會參與序列化
[xmlignore]
public string strdotsee
//不生成列表的父節點。
[xmlelement("elements")]
public listelementlist
[xmlarrayitem("item")]
[xmlarray("classname")]
public listitemlist
}//當用父類來宣告時,輸出的結果為例項的真實型別,也就是取決於 new的型別
[xmltype("classfu")]
public class fulei
//若父類宣告的list賦值時候有派生類混在一起輸出則必須加入派生類的 type
[xmlelement( typeof(zilei1))
, xmlelement( typeof(zilei2))
, xmlelement("***", typeof(fulei))]
public listitemlist
}[xmltype("classzione")]
public class zilei1 : fulei
}[xmltype("classzitwo")]
public class zilei2 : fulei
}
這是element
100 我是text
0 0
這是element
100 我是text 0
0 這是element
100 我是text 0
0 0
這是element
100 我是text 0
0這是element
100 我是text
父子1父子1
父子2父子2
父子2asf
插入 cdata標籤:
[xmlelement("elementnamestr")]
public xmlcdatasection _strelement;
[xmlignore]
public string strelement
set
}
xml解析和序列化總結
第一,xml是什麼?和html類似,區別 xml是儲存資料的,自定義的 html是顯示資料的,預定義的 常用1.0版本,不用1.1不想下相容 應用系統之間傳輸資料的格式 表示生活中的關係 配置檔案 第二,語法 宣告 駝峰命名法 必須放到第一行,還要第一列 元素的定義 有開始就有結束 沒有內容就行內結...
Xml序列化和反序列化
1.xmlserializer 類 該類用一種高度鬆散耦合的方式提供序列化服務。你的類不需要繼承特別的基類,而且它們也不需要實現特別的介面。相反,你只需在你的類或者這些類的公共域以及讀 寫屬性裡加上自定義的特性。xmlserializer 通過反射機制讀取這些特性並用它們將你的類和類成員對映到 xm...
XML序列化和反序列化
閱讀目錄 回到頂部 由於.net framework針對xml提供了很多api,這些api根據不同的使用場景實現了不同層次的封裝,比如,我們可以直接使用xmltextreader xmldocument xpath來取數xml中的資料,也可以使用linq to xml或者反序列化的方法從xml中讀取...