一个通过DataSet操作XML的类(原创)

xml|原创

 这段时间写的项目每次都要用到XML保存一些配置,而每次操作XML都觉得挺麻烦,没有数据库那么顺手。后来发现用DataSet操作XML很方便,而且灵活性比较好,于是写了一个操作XML的类,用来应付一般的XML操作(源码下载附件)。

  1 基本思路
  其实用DataSet操作XML,归根到底就是对DataSet里的表格,行,列等进行操作,然后用DataSet里的东西重新写到XML中,从而实现编辑XML的目的。如果再配合上.xsd文件的话,那效果更佳。

  2 程序详解
  (1) XML文件内容
  本类操作的XML和生成的XML格式是一样的,如下(点击查看代码1附件):(如出现中文乱码,请在浏览器查看选项的编码中选择"简体中文")

  然后点击XML文件右下角的“数据”,即可看到熟悉的表格形式,在表格的任意位置上单击右键选择“创建架构”,将会生成一个.xsd文件,该文件用来定义XML各列的类型。其内容如下(点击查看代码2附件):

  注意:如果想像数据库一样有一个自动增长的ID字段,则可以这样操作:
  首先在XML中添加一个元素,这样生成.xsd的时候,就会有一个ID段,在.xsd中选中ID这一列,在右边的属性中,将“AutoIncrementSeed”和“AutoIncrementStep”分别设置为1,这样ID就会从1开始以步长为1自动增长。

  以上代码如果看不懂并不要紧,因为我们可以通过DataSet来生成这种格式的内容。接下来将开始操作XML。

  (2) 处理XML文件路径
  这里主要是对传入的XML路径进行处理,如果传入的是相对路径,则返回完整路径,如果传入的是完整路径,则不做处理直接返回。方法如下:

#region GetXmlFullPath
/// <summary>
/// 返回完整路径
/// </summary>
/// <param name="strPath">Xml的路径</param>
/// <returns></returns>
public static string GetXmlFullPath(string strPath)
{
//如果路径中含有:符号,则认定为传入的是完整路径
if(strPath.IndexOf(":") > 0)
{
return strPath;
}
else
{
//返回完整路径
return System.Web.HttpContext.Current.Server.MapPath(strPath);
}
}
#endregion

详情见:
http://www.pconline.com.cn/pcedu/empolder/wz/xml/0509/695205.html

时间: 2024-08-03 16:10:28

一个通过DataSet操作XML的类(原创)的相关文章

一个通过DataSet操作XML的类

xml 这段时间写的项目每次都要用到XML保存一些配置,而每次操作XML都觉得挺麻烦,没有数据库那么顺手.后来发现用DataSet操作XML很方便,而且灵活性比较好,于是写了一个操作XML的类,用来应付一般的XML操作(源码下载附件). 1 基本思路 其实用DataSet操作XML,归根到底就是对DataSet里的表格,行,列等进行操作,然后用DataSet里的东西重新写到XML中,从而实现编辑XML的目的.如果再配合上.xsd文件的话,那效果更佳. 2 程序详解 (1) XML文件内容 本类操

想实现一个数据库表操作的基类,使用CRecordset时用继承还是用组合?

问题描述 想实现一个数据库表操作的基类,使用CRecordset时用继承还是用组合? 我现在想实现一个类,对数据库中的某个表实现增删改查的基本功能,需要使用到MFC中的CRecordset这个类,有三中方式,1.继承:2.组合(使用成员变量):3.需要的时候声明局部变量.请问各位用哪种方法? PS:CRecordset中文意思就是记录集,表示对数据库查询到的记录的集合.提供了执行SQL语句,查询记录等功能. 解决方案 已经得到答案,本身要实现的累有增.删.改.查的功能,而CRecordset仅是

新手写的一个队数组操作的工具类,提供给大家

问题描述 新手写的一个队数组操作的工具类,提供给大家@param本程序为一个单独的工具类,内部没有入口函数,只需要在主函数中调用本类即可@param调用方法1.如果你用的是记事本类的编写工具,只需要将class文件放到你的代码下,设置classpath2.如果你是用的eclipse专用编写工具你需要先将class文件打包:打包命令为jar-cvfarrtool.jar*.*然后添加外置包即可.1.这个是jar文件2.这个是class文件http://download.csdn.net/detai

.NET操作XML完整类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using System.Web; namespace BLL { public class XmlDoc { /// <summary> /// 创建Xml文件 /// </summary> /// <param name="xmlPath">

XmlUtils JS操作XML工具类_javascript技巧

demo用了点extjs的东西,主要是为了打印json数组出来. js code(XmlUtils.js): 复制代码 代码如下: /**/ function XmlUtils (config) { /*定义私有属性*/ this.isIE = !!(window.attachEvent && !window.opera); this.init(); if(config) { this.dataType = config.dataType == 'json' ? 'json' : 'arr

操作xml的类

<%'' Site validator 1.0.0'' Very simple concept, run this script on your server, it records the file details to an'' XML file which you download and store. Then, when you come back to make changes you can'' run the XML file back through this script a

c#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)

xml 我用的是一种很笨的方法,但可以帮助初学者了解访问XML节点的过程. 已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1.插入节点 往节点中插入一个节点:  XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找 XmlEleme

asp操作xml

ASP操作XML的类的说明: 可以完成ASP对XML节点的添加.删除.修改.清空. 进行上述操作,根据条件,操作类型包括:仅对第一个符合条件.及全部符合条件二种. 如: '将第一条件值替换成新值 'call xml.r_node("/blog/sorts/sort[id='2']/name","分lei2") '将全部条件值替换成新值 'call xml.r_nodes("/blog/sorts/sort[id='2']/name","

编程-一个用java操作文件并修改文件的内容的问题

问题描述 一个用java操作文件并修改文件的内容的问题 假设一个项目里有n个文件,n个文件中有n个无用的注释,这些注释都是这种格式的 /*无效资源开始 System.out.println("无效的内容"); 无效资源结束*/ 怎么才能通过java,把这些注释都删除掉? 解决方案 大概思路:以一个文件为例,依次读出文件中的内容,检查以"/*"开始,以"*/"结束的字符串,如果和给定注释内容相同就删除注释,至于程序,慢慢斟酌吧. 解决方案二: 正则