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

自己写的针对xml操作的类

 
阅读更多
在项目中遇到对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进行增删改查等操作,

    XML实例,针对XML进行增删改查等操作

    XML实例,针对XML进行增删改查等操作,

    读写超大类xml文件,使用dom4j读写xml文件的工具类

    基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。

    asp.net操作xml 操作大全

    专业针对asp.net中的xml实例,含有注释,针对xml的增删改查这几种功能,以及如何利用xml来操作数据库

    VC 读写XML文件实例运用

    VC项目中实现读写XML文件,包中有两个工程启动文件--VC6的.dsp和VS2010的.sln文件。代码中注释详细,包中另附“xml学习笔记.txt”文档,总结了针对xml读写操作的常用函数。

    XML节点的操作

    针对XML操作的小示例,方便快速理解,加深印象。

    xml 练习 (针对初学者)

    针对xml做的练习.对于xml初学者有很大的帮助.

    C#实现的xml操作类完整实例

    主要介绍了C#实现的xml操作类,包含C#针对xml的创建、删除、遍历、插入等常见操作,需要的朋友可以参考下

    XML增删改查操作实例

    针对xml文件的对于节点的 增删改查操作实例。代码写的有点糙,见谅。

    TinyXML是一个开源的解析XML的解析库

    TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译,使用TinyXML进行C++ XML解析,使用简单,容易上手。 这个解析库的模型通过解析XML文件,...TiXmlHandler:定义了针对XML的一些操作。

    PHP使用XMLWriter读写xml文件操作详解

    主要介绍了PHP使用XMLWriter读写xml文件操作,结合实例形式分析了php基于XMLWriter针对xml文件进行读写操作相关实现技巧,并附带相关源码供读者下载参考,需要的朋友可以参考下

    vb.net对xml文件进行操作

    通过vb.net对xml文件进行创建、插入、修改和删除操作,代码简洁,针对性强。

    JSP针对XML文件操作技巧实例分析

    本文实例讲述了JSP针对XML文件操作技巧。分享给大家供大家参考,具体如下: XML(Extensible Markup Language)可扩展标记语言,这个基础知识在早些已经学习过。而这篇教程为什么把它放在J2EE下边呢,因为他也是...

    XML操作测试用例C开发

    工作需要,暂存于此。动态XML生成,树型结构,针对C开发

    PBDOM操作XML文档

    PBDOM操作XML文件轻松学习 PBDOM是通过PBNI扩展出来的,用于操作XML数据,并针对PowerScript作了优化

    php实现的xml操作类

    主要介绍了php实现的xml操作类,涉及PHP针对xml文件的创建、读取、节点操作等常用技巧,需要的朋友可以参考下

    xml入门教程/xml入门教程

    1.第一行一定要写&lt;?xml verson="1.0"?&gt; 2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 ...

    Simple API for XML 2.0.x 版的使用

    它针对的是如下开发人员,他们理解 XML,并且希望学习这个用于操作 XML 数据的轻量级的、基于事件的 API。 这里假设读者熟悉诸如格式良好性和 XML 文档的类标签性质等概念。(如果有必要,您可以通过 XML 入门 教程...

    xml对象 代码生成器

    根据xml节点,生成针对于xml文档操作类,增删改节点。

    我叫MT3bin转XML

    针对 XML文件的读取操作, CFileReader读取文件流程 OpenFile 打开PFS中的XML文件 OpenNativeFile 打开原始文件中的XML文件 OpenFile&#40; PFS::CBaseFile& bf&#41;; 打开PFS中的文件对象 OpenData 打开一份内存...

Global site tag (gtag.js) - Google Analytics