首页 > 代码库 > XML文件的写,集合XML序列化(写)。XML文件的读,递归遍历
XML文件的写,集合XML序列化(写)。XML文件的读,递归遍历
XML文件:必须要有一个节点。检验xml文件,可以用浏览器打开,能打开表示对,否则错。
处理方法:
DOM:XmlDocument文档对象模型
Sax(事件驱动,XmlReader)
XmlSerializer(序列化):可以序列化一个类,一个泛型集合。
Linq to XML:主要用到类:Xelement XDocument XAttribute using System.Xml.Linq;
写一个XML文件:
学校,班级,学生(性别,年龄,年龄)
1 namespace W_R_XML_Model 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 {//创建文档 7 XDocument xdoc=new XDocument(); 8 //此文档必须包含一个根节点,节点名为()内的名字,并不是变量名。 9 XElement xx=new XElement("xuexiao");10 xdoc.Add(xx);11 //创建节点12 XElement xbanji=new XElement("banji");13 XElement xxuesheng=new XElement("xuesheng");14 XElement xxingming=new XElement("xingming");15 XElement xxingbie=new XElement("xingbie");16 XElement xgender=new XElement("gender");17 //根据哪些节点在哪个节点下,添加节点.同一级别的节点可以以数组形式一块添加到父节点 add,添加属性也是add,不过先newXAttribute18 xxuesheng.Add(xxingming,xxingbie,xgender);19 xbanji.Add(xxuesheng);20 xx.Add(xbanji);21 //为节点赋值 .value22 //xxuesheng.Value = "http://www.mamicode.com/李可";23 xxingming.Value = http://www.mamicode.com/"李可";24 xxingbie.Value = http://www.mamicode.com/"男";25 xgender.Value = http://www.mamicode.com/"23";26 //为节点添加属性,先创建属性XAttribute27 XAttribute xuexiaoAttribute=new XAttribute("id",00001);28 xx.Add(xuexiaoAttribute);29 XAttribute banjiAttribute=new XAttribute("id",02);30 xbanji.Add(banjiAttribute);31 XAttribute xueshengAttribute=new XAttribute("id",024);32 xxuesheng.Add(xueshengAttribute);33 34 //保存文件35 xdoc.Save("lizi.xml");36 }37 }38 }
序列化(把泛型集合写一个xml文件):常常导出数据库为XMl文档的方法,可以先建立一个集合。但是此种方法,一次性将所有数据添加到list内存,数据大的时候就用XmlReader,和XmlWriter。
1 namespace W_R_XML_Model 2 { 3 //先标记,再public 4 [Serializable] 5 public class onePerson 6 { 7 public string Name { get; set; } 8 public int Age { get; set; } 9 public char Gender { get; set; }10 }11 class Program12 {13 static void Main(string[] args)14 {15 List<onePerson> list = new List<onePerson>//集合初始化器可以省去()16 {17 new onePerson {Name = "李可", Age = 18, Gender = ‘男‘},//对象初始化器可以省去()18 new onePerson {Name = "小翠", Age = 20, Gender = ‘女‘},19 new onePerson {Name = "小红", Age = 17, Gender = ‘女‘}20 };21 //把这个泛型集合序列化成XML格式的文件22 using (FileStream file = new FileStream("lisxm.xml", FileMode.Create, FileAccess.Write))23 {24 //找一个人来序列化 参数 序列化的类型,25 XmlSerializer serializer = new XmlSerializer(typeof(List<onePerson>));26 //序列化的对象和目的文件流27 serializer.Serialize(file, list);28 }29 }30 }31 }
男女对应的unicode代码30007,22899
读取XML文档;
获得文档。XDocment.Load(路径)
获得根节点下的所有子节点。Xelement.root
循环子节点,获得子节点下的子节点。
XML文件的写,集合XML序列化(写)。XML文件的读,递归遍历
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。