- 浏览: 50369 次
- 性别:
- 来自: 武汉
最近访客 更多访客>>
文章分类
最新评论
-
fhqllt:
学习,以前还真没有注意。
js parseInt("08")问题 -
sharong:
匹配HTML标记的正则表达式:/<(.*)>.*& ...
正则表达式(不知道找全了没,还有漏掉的请高手留言相告)
我用的是一种很笨的方法,但可以帮助初学者了解访问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);//显示子节点点文本
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/21aspnet/archive/2004/10/26/153261.aspx
发表评论
-
数据库取值形成xml实现tree
2010-03-29 23:44 592Create three .aspx files TreeV ... -
如何将Excel和xml文件数据保存到数据库
2010-03-29 23:43 756Inherits System.Windows.Forms.F ... -
Asp.net+Xml实现无数据库论坛一点即通
2010-03-29 23:40 628目前,网上论坛各式各 ... -
只要你敢进来,没有学不会xml滴
2010-03-29 23:39 5601、前言本贴绝大部分资源均转自http://www.xml.o ... -
xml操作类(转载)
2010-03-29 23:37 606<%Class XMLDOMDocument Priv ... -
XML的二十个热点问题
2010-03-29 23:35 516翻译:Chen Zhihong 编辑: ... -
在.NET中利用XMLHTTP下载文件
2010-03-29 23:33 723利用XMLHTTP下载文件,和以前的方法一样,先添加引用-CO ... -
asp.net 对xml文件的读写,添加,修改,删除操作
2010-03-29 23:32 707asp.net 对xml文件的读写,添加,修改,删除操作 下面 ... -
用Asp.net实现基于XML的留言簿
2010-03-29 23:30 578一.概要: 留言簿是网站的一个重要组成部分,是访问者发 ... -
XML与DataSet的相互转换类
2010-03-29 23:28 644送给大家一个XML与DataSet的相互转换的类:XmlDat ... -
判断一个IP区间(或IP)是否被另一个IP区间所包含
2010-03-29 23:25 775以下方法实现判断一个IP是否被一个IP区间所包含 有一些静态 ... -
C#如何取硬件标志
2010-03-29 23:22 676using System; using System.Runt ... -
XML操作类
2010-03-29 23:02 599public class XmlControl { prote ...
相关推荐
从XML读取、写入配置 许多程序在使用,向一个输入框中输入了某些信息;即使关闭了程序,当再次打开时,你仍然可以看见输入框中的信息没有消失,被保存了下来.这样为程序的使用提供了极大的方便。下面有一个很简单的...
C#XML读取写入,C#XML读取写入,C#XML读取写入,
从xml文档中读取和写入数据库的例题从xml文档中读取和写入数据库的例题
该程序主要实现了从XMl文件中读取数据,并按照要求格式写进Excel表格里面
读取目录中的xml文件并写入Excel,很好的例子,用到了 Aspose
是Untiy工程文件,其中包括了XML的序列化和反序列化,还有多个XML表之间的连系,代码都写好了,可以把xml数据读出来打印,也可以将一些数据写入到xml表里面,可实现游戏或软件中的复杂数据关系
该资源包含了java四种方式读取和写入xml文件的代码
此为一个VB.NET环境的XML文件操作示例,演示了两个基本的XML操作功能,读取和写入,在读取后,并对XML数据进行格式化处理,并将其显示在DataGridView控件中。同时还配合数据库,实现了XML数据对数据库数据的对应操作...
C#读取XML文件并写入数据库的三种方法,直接写入和先读取到内存再写入数据库
NULL 博文链接:https://crazy110.iteye.com/blog/703617
c#读取XML文件,写入XML文件,修改XML文件,
解析XML文件(读取,写入,删除,更新)
所有相关文件 博文链接:https://anlinko.iteye.com/blog/714273
对xml文件进行操作,实现对其的写入和读取,很好用的一个实例
xml写入读取例子,上课做到WEB应用程序。
tinyxml源代码,用于xml文档的读取和写入,附简单的使用方法,main函数里面
使用qt读取xml文件并写入另一个文件的示例
XML用DOM4J方式读取与写入,,相关学习文档。。。。
这是msxml的用法,包括向xml文件中读取、写入数据,增加节点删除节点等操作。
dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中