XML文件的操作说明
2024-08-24 14:33:59
说明:
C#中XmlNode与XmlElement的区别如下:
xmlnode类表示xml文档中的单个节点,其命名空间为:System.Xml。XmlNode的三个最主要的子类包括:XmlDocument、XmlDataDocument及XmlDocumentFragment。 XmlElement继承自XmlLinkedNode又继承自XmlNode类,由此可知XmlElement是XmlNode的子类。 XmlElement是特殊的XmlNode类,Xml节点有多种类型:属性节点、注释节点、文本节点、元素节点等。也就是XmlNode是这多种节点的统称。但是XmlElement专门指的就是元素节点。 XmlElement是具现类,可以直接实例化,而XmlNode是抽象类。
XmlElement拥有众多对Attribute的操作方法,可以方便的对其属性进行读写操作。 xmldoc = new XmlDocument ( ) ;
//加入XML的声明段落,<?xml version="1.0" encoding="gb2312"?>
XmlDeclaration xmldecl;
xmldecl = xmldoc.CreateXmlDeclaration("1.0","gb2312",null);
xmldoc.AppendChild (xmldecl); //加入一个根元素
xmlelem = xmldoc.CreateElement ( "" , "Employees" , "" ) ;
xmldoc.AppendChild (xmlelem) ;
//加入另外一个元素
for(int i=1;i<3;i++)
{ XmlNode root=xmldoc.SelectSingleNode("Employees");//查找<Employees>
XmlElement xe1=xmldoc.CreateElement("Node");//创建一个<Node>节点
xe1.SetAttribute("genre","DouCube");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性 XmlElement xesub1=xmldoc.CreateElement("title");
xesub1.InnerText="CS从入门到精通";//设置文本节点
xe1.AppendChild(xesub1);//添加到<Node>节点中
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);//添加到<Employees>节点中
}
//保存创建好的XML文档
xmldoc.Save ( Server.MapPath("data.xml") ) ;
结果:在同名目录下生成了名为data.xml的文件,内容如下,
<?xml version="1.0" encoding="gb2312"?>
<Employees>
<Node genre="DouCube" ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>候捷</author>
<price>58.3</price>
</Node>
<Node genre="DouCube" ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>候捷</author>
<price>58.3</price>
</Node>
</Employees>
最新文章
- C#双色球——简单抽取中奖号码
- 一个简单的代码计算行数demo编写
- mysql乱码的好文
- vs2010 开发过程中调试时 有错误不中断
- 25.怎样创建一个Swift项目?
- 写了几年代码了,苦苦追寻,应该沉淀下来了,好好研究。net底层框架,以及较好的分层框架
- KKCapture 高清录像软
- 转载--SQL Server 2005的XQuery介绍
- Scene的实时追踪显示
- Codeforces Round #291 (Div. 2) C - Watto and Mechanism 字符串
- 【android】下载文件至本应用程序的file文件夹或者sdcard
- AngularJS服务和路由
- dedecms在任意页面调用任意栏目文章
- Linux多线程编程初探
- php函数 array_count_values
- linux下用ctrl+r快速搜索history命令
- 4 年前端狗,2 年 CTO
- 对Redis的理解
- 滴水穿石-07Java开发中常见的错误
- Python 3.6.5 导入pymysql模块出错:No module named &#39;pymysql&#39;