在项目中遇到对xml的操作,以前对这方面不太熟,最后在网上看了参考了一下资料,下面是自己写的一个操作xml的类,包含基本的增,删,改,查操作。
/**////<copyright>青岛英网咨询技术有限公司1999-2007</copyright>
///<version>1.0</version>
///<author>zhangl</author>
///<email>zhangl@hrbanlv.com</email>
///<logdate="2007-08-06">创建</log>
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Xml;
usingSystem.Xml.XPath;
usingSystem.IO;
usingSystem.Data.SqlClient;
/**////<summary>
///XmlOperate的摘要说明
///</summary>publicclassXmlOperate
...{
privatestringdatafile="";
privatestringid="";
privatestringdbname="";
privatestringbackdate="";
publicstringDataFile
...{
set...{
datafile=value;
}
}
publicstringID
...{
set
...{
id=value;
}
}
publicstringDbName
...{
set
...{
dbname=value;
}
}
publicstringBackDate
...{
set
...{
backdate=value;
}
}
/**////<summary>
///构造函数
///</summary>
publicXmlOperate()
...{
}
/**////<summary>
///构造带参数的构造函数
///</summary>
///<paramname="strdbname"></param>
///<paramname="strbackdate"></param>
///
publicXmlOperate(stringstrid,stringstrdbname,stringstrbackdate)
...{
this.id=strid;
this.dbname=strdbname;
this.backdate=strbackdate;
}
读xml操作#region读xml操作
publicDataViewXmlRead()
...{
StreamReadertyj=newStreamReader(datafile);//使用streamReader读取数据
XmlDataDocumentdatadoc=newXmlDataDocument();//创建该对象为了读取Xml
datadoc.DataSet.ReadXml(tyj);//使用xmldocument对象把读取的xml数据放到dataset
DataViewdv=datadoc.DataSet.Tables[0].DefaultView;
datadoc=null;//释放对象占用的资源
tyj.Close();
returndv;
}
#endregion
写xml操作#region写xml操作
publicboolXmlWrite()
...{
try
...{
if(File.Exists(datafile))
...{
XmlTextReaderxtr=newXmlTextReader(datafile);
XmlDocumentxd=newXmlDocument();
xd.Load(xtr);
xtr.Close();
XmlNodexn=xd.GetElementsByTagName("baks").Item(0);
XmlNodexn1=xd.CreateNode(XmlNodeType.Element,"bak","");
XmlNodexn2=xd.CreateNode(XmlNodeType.Element,"id","");
xn2.InnerText=id;
XmlNodexn3=xd.CreateNode(XmlNodeType.Element,"dbname","");
xn3.InnerText=dbname;
XmlNodexn4=xd.CreateNode(XmlNodeType.Element,"backdate","");
xn4.InnerText=backdate;
xn.AppendChild(xn1);
xn1.AppendChild(xn2);
xn1.AppendChild(xn3);
xn1.AppendChild(xn4);
xd.Save(datafile);
returntrue;
}
else
...{
FileStreamfs=File.Create(datafile);//创建xml文件
fs.Close();
StreamWritersw=newStreamWriter(datafile,true,System.Text.Encoding.GetEncoding("gb2312"));
XmlTextReaderxtr=newXmlTextReader(datafile);
XmlDocumentxd=newXmlDocument();
xd.Load(xtr);
xtr.Close();
XmlNodexn=xd.GetElementsByTagName("baks").Item(0);
XmlNodexn1=xd.CreateNode(XmlNodeType.Element,"bak","");
XmlNodexn2=xd.CreateNode(XmlNodeType.Element,"id","");
xn2.InnerText=id;
XmlNodexn3=xd.CreateNode(XmlNodeType.Element,"dbname","");
xn3.InnerText=dbname;
XmlNodexn4=xd.CreateNode(XmlNodeType.Element,"backdate","");
xn4.InnerText=backdate;
xn.AppendChild(xn1);
xn1.AppendChild(xn2);
xn1.AppendChild(xn3);
xn1.AppendChild(xn4);
xd.Save(datafile);
returntrue;
}
}
catch
...{
returnfalse;
}
}
#endregion
删除xml节点操作#region删除xml节点操作
publicvoidXmlDelete()
...{
XmlDocumentdocument=newXmlDocument();
document.Load(datafile);
XmlNodeListnodelist=document.SelectSingleNode("baks").ChildNodes;
foreach(XmlNodenodeinnodelist)
...{
XmlElementxe=(XmlElement)node;//将子节点类型转换为XmlElement类型
if(xe.Name=="bak")
...{
XmlNodeListnls=xe.ChildNodes;
foreach(XmlNodexn1innls)
...{
if(xn1.InnerText==dbname)
...{
xe.ParentNode.RemoveChild(xe);//移除xe节点--重点
}
}
}
}
document.Save(datafile);//保存xml文件
}
#endregion
}
下面是xml文件的内容:
<?xmlversion="1.0"encoding="utf-8"?>
<baks>
<bak>
<id>1</id>
<dbname>ehrdb_db_2007080713420096.BAK</dbname>
<backdate>2007.08.07</backdate>
</bak>
<bak>
<id>2</id>
<dbname>ehrdb_db_2007080713402905.BAK</dbname>
<backdate>2007.08.07</backdate>
</bak>
</baks>
分享到:
相关推荐
XML实例,针对XML进行增删改查等操作,
XML实例,针对XML进行增删改查等操作,
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
专业针对asp.net中的xml实例,含有注释,针对xml的增删改查这几种功能,以及如何利用xml来操作数据库
VC项目中实现读写XML文件,包中有两个工程启动文件--VC6的.dsp和VS2010的.sln文件。代码中注释详细,包中另附“xml学习笔记.txt”文档,总结了针对xml读写操作的常用函数。
针对XML操作的小示例,方便快速理解,加深印象。
针对xml做的练习.对于xml初学者有很大的帮助.
主要介绍了C#实现的xml操作类,包含C#针对xml的创建、删除、遍历、插入等常见操作,需要的朋友可以参考下
针对xml文件的对于节点的 增删改查操作实例。代码写的有点糙,见谅。
TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译,使用TinyXML进行C++ XML解析,使用简单,容易上手。 这个解析库的模型通过解析XML文件,...TiXmlHandler:定义了针对XML的一些操作。
主要介绍了PHP使用XMLWriter读写xml文件操作,结合实例形式分析了php基于XMLWriter针对xml文件进行读写操作相关实现技巧,并附带相关源码供读者下载参考,需要的朋友可以参考下
通过vb.net对xml文件进行创建、插入、修改和删除操作,代码简洁,针对性强。
本文实例讲述了JSP针对XML文件操作技巧。分享给大家供大家参考,具体如下: XML(Extensible Markup Language)可扩展标记语言,这个基础知识在早些已经学习过。而这篇教程为什么把它放在J2EE下边呢,因为他也是...
工作需要,暂存于此。动态XML生成,树型结构,针对C开发
PBDOM操作XML文件轻松学习 PBDOM是通过PBNI扩展出来的,用于操作XML数据,并针对PowerScript作了优化
主要介绍了php实现的xml操作类,涉及PHP针对xml文件的创建、读取、节点操作等常用技巧,需要的朋友可以参考下
1.第一行一定要写<?xml verson="1.0"?> 2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 ...
它针对的是如下开发人员,他们理解 XML,并且希望学习这个用于操作 XML 数据的轻量级的、基于事件的 API。 这里假设读者熟悉诸如格式良好性和 XML 文档的类标签性质等概念。(如果有必要,您可以通过 XML 入门 教程...
根据xml节点,生成针对于xml文档操作类,增删改节点。
针对 XML文件的读取操作, CFileReader读取文件流程 OpenFile 打开PFS中的XML文件 OpenNativeFile 打开原始文件中的XML文件 OpenFile( PFS::CBaseFile& bf); 打开PFS中的文件对象 OpenData 打开一份内存...