C#怎样才能将XML文件导入SQL Server

时间:2022-02-16 17:51:13 

:怎样才能将XML文件导入SQL Server 2000?
:将XML文件导入SQL Server有若干种方法,这里提供其中的3种:

大容量装载COM接口。如果需要将文档的实体和属性析取到关系表中,最快的方法就是使用SQL Server 2000 Extensible Markup Language 3.0 Service Pack 1(SQLXML 3.0 SP1)提供的大容量装载COM接口。大容量状态COM接口包含在SQLXML 3.0 SP1的免费下载中。

textcopy.exe命令行实用工具。如果不希望将文档的实体和属性析取到关系表中,您可以使用textcopy.exe命令行实用工具。Textcopy.exe是将文本和image数据类型从单一服务器行或列移入或移出的优秀工具。

数据转换服务(DTS)。如果XML文档很简单,您可以使用DTS将信息逐行析取到表中。这一方法要求您将XML文件定义为输入数据源,将数据库表定义为输出数据源,并编写ActiveX脚本剖析"<"和">"方式的字符输入,以析取实体、属性及其值。

要导入的Xml文件:

 
<?xml version="1.0" encoding="gb2312"?>
<Tbl_UpdateLogs>
<Table>
<id>32</id>
<title>新增执法机构页面</title>
<content>qqqqqq</content>
<module>组织机构</module>
<updateTime>2009-07-31T00:00:00+08:00</updateTime>
<operator>王永刚</operator>
</Table>
<Table>
<id>33</id>
<title>执法人员资格页面</title>
<content>大幅度放到大幅度放到</content>
<module>组织机构</module>
<updateTime>2009-07-29T00:00:00+08:00</updateTime>
<operator>王永刚</operator>
</Table>
<Table>
<id>34</id>
<title>111111</title>
<content>dfdwdd</content>
<module>qwqwq</module>
<updateTime>2009-07-29T00:00:00+08:00</updateTime>
<operator>wyg</operator>
</Table>
<Table>
<id>35</id>
<title>qq</title>
<content>fjdldldsss</content>
<module>qqqqqqq</module>
<updateTime>2009-07-30T00:00:00+08:00</updateTime>
<operator>wyg</operator>
</Table>
<Table>
<id>36</id>
<title>2009222</title>
<content>ddddd</content>
<module>22</module>
<updateTime>2009-07-31T00:00:00+08:00</updateTime>
<operator>wyg</operator>
</Table>
<Table>
<id>37</id>
<title>1234455</title>
<content>ddddddd</content>
<module>11111</module>
<updateTime>2009-07-31T00:00:00+08:00</updateTime>
<operator>wyg</operator>
</Table>
</Tbl_UpdateLogs>
/// <summary>
/// 读取Xml文件,获得所有节点的Value值
/// </summary>
/// <param name="fileName">Xml文件名</param>
/// <param name="filePath">存放的路径</param>
/// <param name="rootName">Xml根节点名称</param>
/// <returns></returns>
public void ImportXmlFile(string fileName,string filePath,string rootName)
{
string loadPath = HttpContext.Current.Server.MapPath(filePath + fileName);
try
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(loadPath);
//获取根节点<rootName>的所有子节点
XmlNodeList myNodeList = xmldoc.SelectSingleNode(rootName).ChildNodes;
//遍历<根节点>的所有子节点
foreach (XmlNode myXmlNode in myNodeList)
{
XmlNodeList subNodeList = myXmlNode.ChildNodes;
UpdateLogs updateLog = new UpdateLogs();
foreach (XmlNode subXmlNode in subNodeList)
{
switch (subXmlNode.Name)
{
case "id": //节点的名称,加这个条件是因为<!---->这些节点也会被读出来
updateLog.ID = int.Parse(subXmlNode.InnerText.Trim());
break;
case "title":
updateLog.Title = subXmlNode.InnerText.Trim();
break;
case "content":
updateLog.Content = subXmlNode.InnerText.Trim();
break;
case "module":
updateLog.Module = subXmlNode.InnerText.Trim();
break;
case "updateTime":
updateLog.UpdateTime = DateTime.Parse(subXmlNode.InnerText.Trim());
break;
case "operator":
updateLog.Operator = subXmlNode.InnerText.Trim();
break;
default:
break;
}
}
if (isExstsById(updateLog.ID.ToString()))
{
UpdateLog(updateLog);
}
else
{
InsertLog(updateLog);
}
}
File.Delete(loadPath);
BindData();
ClientScript.RegisterStartupScript(typeof(string), "importLog", "<script>alert('导入成功!');</script>");
}
catch (Exception ex)
{
ExceptionManager.Handle(ex);
}
}

标签:XML文件,导入SQLServer
0
投稿

猜你喜欢

  • 在springboot中实现个别bean懒加载的操作

    2023-11-25 09:44:11
  • Java 遍历取出Map集合key-value数据的4种方法

    2022-02-03 02:48:59
  • C++找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)

    2023-06-22 07:32:31
  • java数据结构与算法之noDups去除重复项算法示例

    2023-06-19 08:50:34
  • spring声明式事务 @Transactional 不回滚的多种情况以及解决方案

    2023-07-06 10:50:33
  • RocketMQ生产者一个应用不能发送多个NameServer消息解决

    2022-05-18 15:56:11
  • Android版本更新实例详解

    2023-08-05 21:54:54
  • Spring实战之协调作用域不同步的Bean操作示例

    2023-01-23 02:48:10
  • Java8新特性:lambda表达式总结

    2023-11-29 00:16:52
  • 入门JDK集合之HashMap解析

    2023-11-24 02:45:03
  • MyBatis中map的应用与模糊查询实现代码

    2021-09-02 18:27:14
  • springboot远程debug调试全过程

    2023-11-25 07:05:56
  • Java实现简单树结构

    2023-08-06 18:59:12
  • Android 程序执行Linux命令的解决方法及注意事项

    2023-07-13 00:14:58
  • 基于WPF实现筛选下拉多选控件

    2021-11-15 20:47:50
  • C#数据类型转换(显式转型、隐式转型、强制转型)

    2021-11-24 13:44:25
  • Spring Security基于json登录实现过程详解

    2023-12-07 07:15:18
  • 详解Java实现缓存(LRU,FIFO)

    2022-04-24 13:35:26
  • C# dump系统lsass内存和sam注册表详细

    2021-06-26 12:19:53
  • Java运算符的知识点与代码汇总

    2022-12-05 19:03:36
  • asp之家 软件编程 m.aspxhome.com