知识点目录==========>传送门

XML是什么就不用说了文本标记语言。

主要纪录如何对XML文件进行增删改查。

Xml的操作类都存在System.xml命名空间下面。

应用型的直接上代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml; namespace XMLTest
{
class Program
{
static void Main(string[] args)
{
//1.创建XML文档对象
XmlDocument doc = new XmlDocument(); //创建头
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null); //添加节点
doc.AppendChild(xmlDeclaration);
XmlElement xmlElement = doc.CreateElement("Persons"); //给节点添加属性
xmlElement.SetAttribute("Name", "一小时小超人");
doc.AppendChild(xmlElement); XmlElement xmlElement1 = doc.CreateElement("Person");
//给节点添加文字
xmlElement1.InnerXml = "小超人";
xmlElement.AppendChild(xmlElement1);
doc.Save("Test.xml"); }
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Persons Name="一小时小超人">
<Person>小超人</Person>
</Persons>

这个地方主要讲一下 XmlElement.InnerXml和XmlElement.InnerText的区别。代码演示

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml; namespace XMLTest
{
class Program
{
static void Main(string[] args)
{
//1.创建XML文档对象
XmlDocument doc = new XmlDocument(); //创建头
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null); //添加节点
doc.AppendChild(xmlDeclaration);
XmlElement xmlElement = doc.CreateElement("Persons"); //给节点添加属性
xmlElement.SetAttribute("Name", "一小时小超人"); doc.AppendChild(xmlElement); XmlElement xmlElement1 = doc.CreateElement("Person");
//给节点添加文字
xmlElement1.InnerXml = "<演示>小超人</演示>";
xmlElement.AppendChild(xmlElement1);
XmlElement xmlElement2 = doc.CreateElement("Person");
//给节点添加文字
xmlElement2.InnerText = "<演示>小超人</演示>";

        //给节点添加属性
        xmlElement2.SetAttribute("name", "一小时小超人");

            xmlElement.AppendChild(xmlElement2);

            doc.Save("Test.xml");

        }
}
}

<?xml version="1.0" encoding="UTF-8"?>
<Persons Name="一小时小超人">
<Person>
<演示>小超人</演示>
</Person>
<Person name="一小时小超人">&lt;演示&gt;小超人&lt;/演示&gt;</Person>
</Persons>

 

很明显的看出来如果字符串是个标签,Interxml会当成标签给你添加,innterText会转义。

下面演示一下读取操作

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml; namespace XMLTest
{
class Program
{
static void Main(string[] args)
{
//1.创建XML文档对象
XmlDocument doc = new XmlDocument();
if (File.Exists("Test.xml"))
{
//通过文件名加载Xml,也可以通过流之类的,其他重载方法,看文档。
doc.Load("Test.xml"); //获取根节点
XmlElement xmlElement = doc.DocumentElement; //获取根节点下面的子节点集合
XmlNodeList nodeList = xmlElement.ChildNodes;
//循环取每一个子节点
foreach (XmlNode item in nodeList)
{ Console.WriteLine(item.Name); //获取节点属性
//string attributesValue=item.Attributes["属性名称"].Value;
}
Console.ReadKey();
} }
}
}

上面代码把常用的操作列出来了,其他的很多操作。就不一一列举了。。。。。。。。。。。。。

最新文章

  1. BRDF 光照模型
  2. hdu3294 girl‘s research
  3. Numpy 中一维数据转置的几种方法
  4. RPC(Remote Procedure Call Protocol)——远程过程调用协议 学习总结
  5. CGContextAddArcToPoint和CGContextAddArc
  6. Linux共享库 日志方法
  7. sjtu1586 Dog
  8. Hibernate之HQL
  9. php倒计时
  10. eclipse编译hbase 1.3.1(转)
  11. Northwind数据库练习及参考答案
  12. Hdg Remote Debug
  13. 11、java5线程池之异步任务CompletionService
  14. MAC安装远程工具Securecrt的破解方式(详细有图)
  15. App 图标设计 - 圆角透明效果(0 基础使用 PS)
  16. 先做一个用来测试的chrome浏览器插件
  17. 【C++对象模型】使用gcc、clang和VC++显示C++类的内存布局
  18. MySQL-EXPLAIN用法详解
  19. 深入理解C#中的泛型(一)
  20. 【转】【Mysql学习】之Mac上用终端使用mySQL

热门文章

  1. bootstrap基础学习(四)——网格系统(列的偏移、排序、嵌套)
  2. C# 动态创建SQL数据库(二)
  3. 【BZOJ3555】 [Ctsc2014]企鹅QQ
  4. linux 使用进程管理工具 supervisor
  5. phpMyadmin提权那些事
  6. Fusioncharts的数字格式化
  7. javaweb项目中的过滤器的使用
  8. D02-R语言基础学习
  9. Java - 获取帮助信息
  10. c++获取随机数