什么是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. ABP Zero源码

    测试运行地址:http://ghy.demo.aspnetzero.com 账号:admin  密码:123456 需要源码,请加QQ:858-048-581 1.先编译成功,Nuget下载ABP的依 ...

  2. WPF Prism框架下基于MVVM模式的命令、绑定、事件

    Prism框架下的自定义路由事件和命令绑定 BaseCode XAML代码: <Button x:Class="IM.UI.CommandEx.PrismCommandEx" ...

  3. 磁盘工作原理与IO性能分析

    最近,在研究如何优化产品设备的磁盘IO性能,需要深入研究磁盘及文件系统原理和工作机制,下面简要总结下关于磁盘方面的东西,下篇文章再分享文件系统的. 机械磁盘结构: 无论哪种机械硬盘,都主要由盘片.磁头 ...

  4. 点击Robot Framework的桌面快捷图标后,没有反应(没有打开应用程序)

    http://www.cnblogs.com/zhengyihan1216/p/6397478.html  这篇文章中介绍了如何安装Robot Framework以及如何在桌面上创建快捷方式. 但是有 ...

  5. for循环与foreach的区别

    for循环与foreach的区别 foreach 依赖 IEnumerable. 第一次 var a in GetList() 时 调用 GetEnumerator 返回第一个对象 并 赋给a, 以后 ...

  6. 20170305Meetup Git、heroku drop db

    Rails中,给link_to添加上action和class样式,内部文本 <%= link_to product_path(product),{ :controller => 'cont ...

  7. Adapter基本用法

    使用流程 graph LR A(新建适配器) -->B(绑定数据源) B-->C(设置适配器) 1. ArrayAdapter new ArrayAdapter<?>(cont ...

  8. 通过 Composer Github Packagist制作发布共享PHP包

    参考来源: https://laravel-china.org/topics/1002 https://rivsen.github.io/post/how-to-publish-package-to- ...

  9. css兼容问题 ie6,7

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

  10. 常见Android面试题及答案(详细整理)

    1. 请描述一下Activity 生命周期. 答: 如下图所示.共有七个周期函数,按顺序分别是: onCreate(), onStart(), onRestart(), onResume(), onP ...