课堂博客-----TreeView+++++XML形成博客
什么是XML?
解析:XML:Extensible Markup Language(可扩展标记语言)
HTML:HyperLink Text Markup Language(超文本标记语言)
xml文件和html文件的区别?
解析:01.xml严格区分大小写,html不区分
02.xml不是编译语言,xml和html都是解释型语言
03.html语言负责显示数据,而Xml文件就是专门用来存储数据
001.对已有的Xml文档进行读取
eg:
第一步:创建一个Xml文档
1 //Xml文档 2 <?xml version="1.0" encoding="utf-8" ?> 3 <Computers> 4 <computer> 5 <Name>LenovoY系列</Name> 6 <Price>5000</Price> 7 <Cpu>CORE i3</Cpu> 8 </computer> 9 <computer> 10 <Name>DELL YY</Name> 11 <Price>7000</Price> 12 <Cpu>CORE i7</Cpu> 13 </computer> 14 </Computers>
第二步:将创建好的Xml文档放入到指定文件中
看,法宝!.......不,看图
第三部:在main函数中写对Xml文档的操作代码
1 #region 01.用双foreach遍历 2 XmlDocument doc = new XmlDocument(); 3 doc.Load("Computer.xml"); 4 XmlNode root = doc.DocumentElement; 5 //root为一个根节点对象 6 foreach(XmlNode item in root.ChildNodes) 7 { 8 foreach(XmlNode computer in item.ChildNodes) 9 { 10 switch (computer.Name) 11 { 12 case "Name": 13 Console.WriteLine("电脑的名称为:"+computer.InnerText); 14 break; 15 case "Price": 16 Console.WriteLine("电脑的价格为:"+computer.InnerText); 17 break; 18 case "Cpu": 19 Console.WriteLine("电脑的CPU为:"+computer.InnerText); 20 break; 21 } 22 #endregion
002.对Xml文档进行修改
1 <?xml version="1.0" encoding="gb2312"?> 2 3 <bookstore> 4 5 <book genre="fantasy" ISBN="2-3631-4"> 6 7 <title>Oberon's Legacy</title> 8 9 <author>Corets, Eva</author> 10 11 <price>5.95</price> 12 13 </book> 14 15 </bookstore>
1 //将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点<author>的文本修改为“亚胜”。 2 3 XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点 4 5 foreach(XmlNode xn in nodeList)//遍历XML文档所有子节点 6 7 { 8 9 XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 10 11 if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红” 12 13 { 14 15 xe.SetAttribute("genre","update李赞红");//则修改该属性为“update李赞红” 16 17 XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点 18 19 foreach(XmlNode xn1 in nls)//遍历 20 21 { 22 23 XmlElement xe2=(XmlElement)xn1;//转换类型 24 25 if(xe2.Name=="author")//如果找到 26 27 { 28 29 xe2.InnerText="亚胜";//则修改 30 31 break;//找到退出来就可以了 32 33 } 34 35 } 36 37 break; 38 39 } 40 41 } 42 43 xmlDoc.Save("bookstore.xml");//保存。 44 45 //================= 46 47 最后结果为: 48 49 <?xml version="1.0" enc 50 51 oding="gb2312"?> 52 53 <bookstore> 54 55 <book genre="fantasy" ISBN="2-3631-4"> 56 57 <title>Oberon's Legacy</title> 58 59 <author>Corets, Eva</author> 60 61 <price>5.95</price> 62 63 </book> 64 65 <book genre="update李赞红" ISBN="2-3631-4"> 66 67 <title>CS从入门到精通</title> 68 69 <author>亚胜</author> 70 71 <price>58.3</price> 72 73 </book> 74 75 </bookstore>-->
003.对Xml文档新增节点
1 //往<bookstore>节点中插入一个<book>节点: 2 3 XmlDocument xmlDoc=new XmlDocument(); 4 5 xmlDoc.Load("bookstore.xml"); 6 7 XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore> 8 9 XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点 10 11 xe1.SetAttribute("genre","李赞红");//设置该节点genre属性 12 13 xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性 14 15 XmlElement xesub1=xmlDoc.CreateElement("title"); 16 17 xesub1.InnerText="CS从入门到精通";//设置文本节点 18 19 xe1.AppendChild(xesub1);//添加到<book>节点中 20 21 XmlElement xesub2=xmlDoc.CreateElement("author"); 22 23 xesub2.InnerText="候捷"; 24 25 xe1.AppendChild(xesub2); 26 27 XmlElement xesub3=xmlDoc.CreateElement("price"); 28 29 xesub3.InnerText="58.3"; 30 31 xe1.AppendChild(xesub3); 32 33 root.AppendChild(xe1);//添加到<bookstore>节点中 34 35 xmlDoc.Save("bookstore.xml"); 36 37 //================ 38 39 结果为: 40 41 <?xml version="1.0" encoding="gb2312"?> 42 43 <bookstore> 44 45 <book genre="fantasy" ISBN="2-3631-4"> 46 47 <title>Oberon's Legacy</title> 48 49 <author>Corets, Eva</author> 50 51 <price>5.95</price> 52 53 </book> 54 55 <book genre="李赞红" ISBN="2-3631-4"> 56 57 <title>CS从入门到精通</title> 58 59 <author>候捷</author> 60 61 <price>58.3</price> 62 63 </book> 64 65 </bookstore>
(二).对treeview进行操作
首先新建一个TreeView控件