什么是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文档

 //Xml文档
<?xml version="1.0" encoding="utf-8" ?>
<Computers>
<computer>
<Name>LenovoY系列</Name>
<Price>5000</Price>
<Cpu>CORE i3</Cpu>
</computer>
<computer>
<Name>DELL YY</Name>
<Price>7000</Price>
<Cpu>CORE i7</Cpu>
</computer>
</Computers>

第二步:将创建好的Xml文档放入到指定文件中

看,法宝!.......不,看图

第三部:在main函数中写对Xml文档的操作代码

 #region 01.用双foreach遍历
XmlDocument doc = new XmlDocument();
doc.Load("Computer.xml");
XmlNode root = doc.DocumentElement;
//root为一个根节点对象
foreach(XmlNode item in root.ChildNodes)
{
foreach(XmlNode computer in item.ChildNodes)
{
switch (computer.Name)
{
case "Name":
Console.WriteLine("电脑的名称为:"+computer.InnerText);
break;
case "Price":
Console.WriteLine("电脑的价格为:"+computer.InnerText);
break;
case "Cpu":
Console.WriteLine("电脑的CPU为:"+computer.InnerText);
break;
}
#endregion

002.对Xml文档进行修改

 <?xml version="1.0" encoding="gb2312"?>

 <bookstore>

 <book genre="fantasy" ISBN="2-3631-4">

 <title>Oberon's Legacy</title>

 <author>Corets, Eva</author>

 <price>5.95</price>

 </book>

 </bookstore>
 //将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点<author>的文本修改为“亚胜”。

 XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点

 foreach(XmlNode xn in nodeList)//遍历XML文档所有子节点

 {

 XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型

 if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红”

 {

 xe.SetAttribute("genre","update李赞红");//则修改该属性为“update李赞红”

 XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点

 foreach(XmlNode xn1 in nls)//遍历

 {

 XmlElement xe2=(XmlElement)xn1;//转换类型

 if(xe2.Name=="author")//如果找到

 {

 xe2.InnerText="亚胜";//则修改

 break;//找到退出来就可以了

 }

 }

 break;

 }

 }

 xmlDoc.Save("bookstore.xml");//保存。

 //=================

 最后结果为:

 <?xml version="1.0" enc

 oding="gb2312"?>

 <bookstore>

 <book genre="fantasy" ISBN="2-3631-4">

 <title>Oberon's Legacy</title>

 <author>Corets, Eva</author>

 <price>5.95</price>

 </book>

 <book genre="update李赞红" ISBN="2-3631-4">

 <title>CS从入门到精通</title>

 <author>亚胜</author>

 <price>58.3</price>

 </book>

 </bookstore>-->

003.对Xml文档新增节点

 //往<bookstore>节点中插入一个<book>节点:

 XmlDocument xmlDoc=new XmlDocument();

 xmlDoc.Load("bookstore.xml");

 XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>

 XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点

 xe1.SetAttribute("genre","李赞红");//设置该节点genre属性

 xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性

 XmlElement xesub1=xmlDoc.CreateElement("title");

 xesub1.InnerText="CS从入门到精通";//设置文本节点

 xe1.AppendChild(xesub1);//添加到<book>节点中

 XmlElement xesub2=xmlDoc.CreateElement("author");

 xesub2.InnerText="候捷";

 xe1.AppendChild(xesub2);

 XmlElement xesub3=xmlDoc.CreateElement("price");

 xesub3.InnerText="58.3";

 xe1.AppendChild(xesub3);

 root.AppendChild(xe1);//添加到<bookstore>节点中

 xmlDoc.Save("bookstore.xml");

 //================

 结果为:

 <?xml version="1.0" encoding="gb2312"?>

 <bookstore>

 <book genre="fantasy" ISBN="2-3631-4">

 <title>Oberon's Legacy</title>

 <author>Corets, Eva</author>

 <price>5.95</price>

 </book>

 <book genre="李赞红" ISBN="2-3631-4">

 <title>CS从入门到精通</title>

 <author>候捷</author>

 <price>58.3</price>

 </book>

 </bookstore>

(二).对treeview进行操作

首先新建一个TreeView控件

课堂博客-----TreeView+++++XML形成博客的更多相关文章

  1. MWeb 1.3.7 发布!增加发布到 Wordpress 等支持 MetaWeblog API 的服务,如:Wordpress 博客、新浪博客、cnblogs、oschina。

    MWeb 1.3.7 版的新功能 增加发布到 Wordpress 等支持 Metaweblog API 的服务,目前经测试过的有: Wordpress 博客.新浪博客.cnblogs.oschina. ...

  2. asp.net批量发布博客到各大博客平台

    新浪博客 http://upload.move.blog.sina.com.cn/blog_rebuild/blog/xmlrpc.php 网易博客 http://os.blog.163.com/ap ...

  3. 继网易博客后搜狐博客也增加了nofollow标签

    继网易博客后搜狐博客也增加了nofollow标签 今天在搜狐博客发表了篇文章,在末端添加上我的版权,结果回头查看是发现,这个锚文本被加上了nofollow标签,也就是说这样的外链已经没有传递权重的作用 ...

  4. 【博客导航】Nico博客导航汇总

    摘要 介绍本博客关注的内容大类.任务.工具方法及链接,提供Nico博文导航. 导航汇总 [博客导航]Nico博客导航汇总 [导航]信息检索导航 [导航]Python相关 [导航]读书导航 [导航]FP ...

  5. Node.js 从零开发 web server博客项目[express重构博客项目]

    web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...

  6. Node.js 从零开发 web server博客项目[koa2重构博客项目]

    web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...

  7. 转载自jguangyou的博客,XML基本属性大全

    android:layout_width 指定组件布局宽度 android:layout_height 指定组件布局高度 android:alpha 设置组件透明度 android:backgroun ...

  8. Android为TV端助力 转载自jguangyou的博客,XML基本属性大全

    android:layout_width 指定组件布局宽度 android:layout_height 指定组件布局高度 android:alpha 设置组件透明度 android:backgroun ...

  9. 使用django开发博客过程记录3——博客侧栏实现

    说起这个侧栏真是苦恼我很长时间,一开始以为和之前的一样传递额外参数就可以了就像下面这样: class IndexView(ListView): template_name = 'apps/index. ...

随机推荐

  1. 对于block的理解,block的面试题

    1.block跟swift中的闭包(closure)基本一样,都常用于值的回调,特别是在多线程的网络请求回调中,使用起来极为方便. 2.block的开头是"^",接着是由小括号所报 ...

  2. 了解 : EDM

    EDM是 Entity Data Meta,首先先了解什么是Entity. Entity 它是一个框架,在C#使用,方便调用SQL data的,和Odata 调用有关.细节我不清楚! EDM 基本是表 ...

  3. Redis Cluster部署、管理和测试

    背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力.Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twen ...

  4. 改变 Panel 跟 groupbox边框样式

    更改panel和groupbox的边框颜色因为在控件的属性中没有设置边框颜色的属性只有一个设置边框样式,遂在网络中搜寻出一下方法: panel的边框颜色在paint中重新对颜色进行定义 private ...

  5. Spring框架(6)---AspectJ实现AOP

    AspectJ实现AOP 上一篇文章Spring框架(4)---AOP讲解铺垫,讲了一些基础AOP理解性的东西,那么这篇文章真正开始讲解AOP 通过AspectJ实现AOP要比普通的实现Aop要方便的 ...

  6. AtomicInteger源码分析——基于CAS的乐观锁实

    1. 悲观锁与乐观锁 我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执行,时间片与时间片之间,需要进行cpu切换,也就是会发生进程的切换.切换涉及 ...

  7. 前端资讯周报 3.6 - 3.12: 对学习Javascript最有帮助的三本书,以及HTML标题的迷思

    每周一我都会分享上一周我订阅的技术站点中,和解决问题的过程中阅读到的值得分享的文章. 毕竟个人的阅读量有限,也欢迎大家留言或者私信给我你们阅读到的,对你们前端技术有帮助的任何内容,题材不限,语言不限. ...

  8. 2818: Gcd

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 2170  Solved: 979[Submit][Status][Discuss] ...

  9. 1640: [Usaco2007 Nov]Best Cow Line 队列变换

    1640: [Usaco2007 Nov]Best Cow Line 队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 543  Solved: 2 ...

  10. css兼容问题 ie6,7

    H5标签兼容 元素浮动之后能设置宽度的话就给元素加宽度,如果需要元素宽度是内容撑开,就给他里面的块元素加上浮动 第一块加浮动,第二块加margin等于第一块元素在IE6下会有间隙问题 IE6下子元素超 ...