admin 管理员组文章数量: 1184232
2024年4月19日发(作者:access数据库软件安装包)
基于的XML与数据库数据交换
XML是一种简单、与平台无关并被广泛采用的标准。为什么有时要用XML
文件来存储数据而不使用数据库。是因为很多时候,用数据库太浪费。而且环境
要求较高,必然要使用一个数据库,安装和支持一个分离的服务器处理进程,还
要有安装和支持它的管理员来对数据库进行管理。必须会使用SQL语句,转换
数据等操作。而如果你用XML文件存储数据,就可以减少额外的服务器的负荷。
你只要使用文本编辑器,就可以对这些复杂的程序进行处理。下面将使用记录天
气信息来说明XML和数据库之间的转换。为了记录天气信息我们建立一个
数据库,在这个数据库中有一个weather表。
表1 Weather表
同时建立一个文档来说明它们之间的转换。
北京
多云
上海
晴
广州
多云转晴
1 使用DataSet读取天气信息的XML文档并显示
XML Schema中还支持名域。一个Schema除了可以定义XML文档词汇表
外,还可以通过名域来定义目标名域,和其它可能会使用到的词汇名域。XML
Schema提供了一个丰富而更具弹性的机制来定义XML文档词汇表。它使用
XML语言本身来定义关于一个XML文档的元信息(meta-information),这使得
XML的协同工作能力大大的增强了。我们来看如何从xml文件中读取数据。
1.1 首先定义DataSet对象,并指要读取的XML文档路径,于使用DataSet
提供了ReadXml方法读取XML文档,并保存在DataTable对象中
DataSet mydataset = new DataSet();
l(h(”~/App_Data/”));
DataTable myTable = [0];
1.2 接下来使用循环用表格方式打印在网页上
…
foreach (DataColumn myColumn in s)
{
(”“ + myRow[myColumn] + ““);
}
(”“);
}
…
完成后运行,天气信息的XML文档就会以表格的形式打印要网页上。
2 将数据库中的天气信息导出为XML文件
XML还有一个更抽象的优点,即作为层次型的格式比关系型的更好。它可
以用一种很直接的方式来设计数据结构来符合你的需要。 所以有时要把数据库
的数据转换为XML文件。
数据访问是一个应用系统的核心。公用语言运行环境(Common Language
Runtime)提供了管理数据访问应用程序接口(API)的方法。而这些API将不
论它的数据源是什么,都能提取出我们所需要的数据。我们主要用:Connection,
Commands, 和 DataSet等三个对象。
2.1 首先要导入 和. OleDb这两个名字空间
2.2 接下来定义连接字符串
string connectionstr = “Provider=.4.0; Data Source =“ +
h(”~/App_Data/”);
2.3 定义连接对象
OleDbConnection Conn = new OleDbConnection(connectionstr);
2.4 打开数据库连接
();
2.5 使用数据适配器读取数据
OleDbDataAdapter da = new OleDbDataAdapter(”select * from weather”,
Conn);
DataSet mydataset = new DataSet();
(mydataset);
2.6 导出数据为XML格式
string xmlString = ();
(xmlString);
(”
“);
try
{ ream fs = new
ream(h(”~/App_Data/”),
);
ml(fs);
();
}
catch (Exception ce){ (e);
}
(”导出成功”);
();
完成上述步骤后,App_Data文件夹下就会生成一个天气信息
的XML文档,以便进行数据交换。
3 将天气信息的XML文档、文件写入数据
在很多应用中,依靠文件系统是不够充分的。如果更新很多,文件系统会因
为同时写入而受到破坏。数据库则通常支持事务处理,可以应付所发生的请求而
不至于损坏。对于复杂的查询统计要有反复、及时的更新,此时数据库表现都很
优秀。所以有时我们也需要把XML文档写入数据库进行保存和操作。下面是把
天气信息的XML写入数据库的方法。
3.1 定义连接字符串, 定义连接对象, 打开数据库连(下转第193页)(上
接第164页)接。步骤同上。
3.2 定义XmlDocument,并指定要读取的XML文档路径,以及在XML文
档中的根节点
XmlDocument xmld = new XmlDocument();
(h(”~/App_Data/”));
XmlNodeList xlml = Nodes(”NewDataSet/Table”);
3.3 循环遍历节点,并把取得的值使用SQL语句写入数据库中
for (int i = 0; i < ; i++)
{
city = xlml[i].SelectSingleNode(”city”).InnerText;
weather = xlml[i].SelectSingleNode(”weather”).InnerText;
(city + “|” + weather + “
“);
OleDbCommand comm = new OleDbCommand(”insert into weather values(‟”
+ city + “„,‟” + weather + “„)”, Conn);
eNonQuery();
}
完成上述步骤后,天气信息的XML文档就顺利保存进数据库中了。
以上可以看出通过XML你就很方便的进行数据交换,XML文件很容易备
份,和朋友共享,或下载到你的客户端。有了XML这种通用格式更可以与你的
手机进行数据交换。都可以随时备份进数据库里,XML与其它数据库系统的数
据交换也类似,请读者自己研究。
【参考文献】
[1]安博教育集团.XML程序开发[M].电子工业出版社,2012.
[2]张茂元,邹春燕,卢正鼎.一种基于语义匹配的Web信息提取方法研究[J].
计算机工程与应用,2006.
[3]韩双旺.下Web数据库访问技术研究[J].自动化与仪器仪表,2011.
[4]赵艳菲.基于.NET的XML数据的处理与实现[J].电脑知识与技术,2011.
[5]刘丽萍,张月琴.基于 的关系模式到XML Schema 的转换[J].
电脑开发与应用,2011.
版权声明:本文标题:基于ADO .NET的XML与数据库数据交换 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713483859a636944.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论