`
txf2004
  • 浏览: 6885256 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C#处理XML

 
阅读更多

已知有一个XML文件(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>
</bookstore>



1、往<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>


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


XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
foreach(XmlNode xn in nodeList)//遍历所有子节点
{
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" 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="update李赞红" ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>亚胜</author>
<price>58.3</price>
</book>
</bookstore>



3、删除 <book genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <book genre="update李赞红" ISBN="2-3631-4">节点。


XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;

foreach(XmlNode xn in xnl)
{
XmlElement xe=(XmlElement)xn;


if(xe.GetAttribute("genre")=="fantasy")
{
xe.RemoveAttribute("genre");//删除genre属性
}
else if(xe.GetAttribute("genre")=="update李赞红")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
xmlDoc.Save("bookstore.xml");

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

最后结果为:


<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book>
</book>
</bookstore>


4、显示所有数据。


XmlNode xn=xmlDoc.SelectSingleNode("bookstore");

XmlNodeList xnl=xn.ChildNodes;

foreach(XmlNode xnf in xnl)
{
XmlElement xe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//显示属性值
Console.WriteLine(xe.GetAttribute("ISBN"));

XmlNodeList xnf1=xe.ChildNodes;
foreach(XmlNode xn2 in xnf1)
{
Console.WriteLine(xn2.InnerText);//显示子节点点文本
}
}


转载自:http://blog.csdn.net/s98/archive/2004/10/17/140307.aspx


XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("c:/aaa.xml");
XmlNode xn=xmlDoc.SelectSingleNode("todate");
XmlNodeList xnl=xn.ChildNodes;
foreach(XmlNode xnf in xnl)
{
XmlElement xe=(XmlElement)xnf;

XmlNodeList xnf1=xe.ChildNodes;

Response.Write(xnf1[0].InnerText);//显示子节点点文本
}

XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("c:/aaa.xml");
XmlNode xn=xmlDoc.SelectSingleNode("todate");
XmlNodeList xnl=xn.ChildNodes;
foreach(XmlNode xnf in xnl)
{
XmlElement xe=(XmlElement)xnf;

XmlNodeList xnf1=xe.ChildNodes;

xnf1[0].InnerText="10";
xmlDoc.Save("c:/aaa.xml");

分享到:
评论

相关推荐

    c#处理xml文件

    使用C#来处理XML文件,可以按照需要的格式生成xml

    C#处理XML的方法

    搜集的资料 内容可能有些杂 C#处理XML C#处理XML

    C# 处理xml 文档技术

    .net C# 语言处理xml 文件(读,写操作等等) xml 文件的处理

    一个C#处理XML的类

    一个C#处理XML的类, /// &lt;summary&gt; /// 功能:读取XML到DataSet中 /// /// 使用示列: /// using Serial; //引用命名空间 /// string xmlPath = Server.MapPath("/EBDnsConfig/DnsConfig.xml"); //获取xml...

    C# 处理xml

    写了几行C#处理xml的代码。非常简单的几行代码。

    C# xml处理和排序

    C# xml处理和List的Sort排序C# xml处理和List的Sort排序C# xml处理和List的Sort排序

    C# 操作XML文件 实例源码(文件处理)

    C# 操作XML文件 实例源码(文件处理)

    C#调用JavaWebService

    特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string类型能正常传递参数外,q其他类型的参数不是默认值就是NULL,究其原因的C#处理XML格式引起的,本人是这么做的。 1. SoapUI...

    C# XML字符串包含特殊字符的处理转换方法小结

    本文介绍的正是如何使用C#判断XML字符串是否含特殊字符并进行转换。 以下是几个特殊字符的对应实体。 &lt; &lt;  小于号 &gt; &gt;  大于号 &amp; & 和 &apos; ‘ 单引号 &quot;...

    C# 使用 XML方式 导出 Excel

    C# 使用 XML方式 导出 Excel; 使用 Microsoft.Office.Interop.Excel 如果数据量很大的话会出现问题,而使用 XML 方式可以轻松处理 10万行以上

    c# xmlHelper处理xml类型字符串

    c# xmlHelper处理xml类型字符串

    c#Treeview处理大数据xml

    c#Treeview处理大数据xml,包括xml的加载,Treeview的显示、查询

    C#XML入门经典 C#编程人员必备的XML技能.part2

    C# XML入门经典——C#编程人员必备的XML技能 作者:[美]Stewart Fraser, Steven 著,毛尧飞,崔伟 译 出版社:清华大学出版社 出版时间:2003年11月 第1章 在C#中使用XML的原因 &lt;br&gt;1.1 使用XML的原因...

    C#针对XML的处理

    可以对XML文件的读取和增加,删除,修改。运用了C#来处理其文件

    C# Webservice返回指定的xml格式

    C# Webservice返回指定的xml格式,使用VS2019.本文介绍了通过C#Web服务返回XML文档的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧

    C#实现XML操作帮助类

    C#帮助类(Helper class)是一种用于封装常用功能的类。它通常包含一组静态方法,这些方法能够执行特定的任务或提供通用的功能。帮助类的目的是为了提高代码的可重用性和可维护性,避免重复编写相似的功能代码。 ...

    关于布局和xml文件的数据处理

    demo里面存在一些布局的知识和xml文件数据的处理,都是一些比较基础的东西

    C# XML处理中xpath使用文档

    由于便捷的开发C#中xml相关的程序,欢迎下载使用

    [Csharp高级编程(第6版)].(美)内格尔.扫描版.part06.rar

    用C#处理XML的技巧 用ADO.NET访问数据库 用C# 2008生成图形 各种C#插件 用LINQ轻松地处理SQL Server数据库和XML 《C#高级编程(第6版)》读者对象 《C#高级编程(第6版)》适用于希望学习C#开发语言的最新版本的、有经验...

Global site tag (gtag.js) - Google Analytics