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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
在springboot中实现个别bean懒加载的操作
2023-11-25 09:44:11
![](https://img.aspxhome.com/file/2023/3/60033_0s.jpg)
Java 遍历取出Map集合key-value数据的4种方法
2022-02-03 02:48:59
![](https://img.aspxhome.com/file/2023/0/71640_0s.png)
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
![](https://img.aspxhome.com/file/2023/3/62143_0s.jpg)
RocketMQ生产者一个应用不能发送多个NameServer消息解决
2022-05-18 15:56:11
![](https://img.aspxhome.com/file/2023/7/69687_0s.png)
Android版本更新实例详解
2023-08-05 21:54:54
![](https://img.aspxhome.com/file/2023/1/85981_0s.png)
Spring实战之协调作用域不同步的Bean操作示例
2023-01-23 02:48:10
Java8新特性:lambda表达式总结
2023-11-29 00:16:52
入门JDK集合之HashMap解析
2023-11-24 02:45:03
![](https://img.aspxhome.com/file/2023/1/59901_0s.png)
MyBatis中map的应用与模糊查询实现代码
2021-09-02 18:27:14
springboot远程debug调试全过程
2023-11-25 07:05:56
![](https://img.aspxhome.com/file/2023/7/60247_0s.png)
Java实现简单树结构
2023-08-06 18:59:12
Android 程序执行Linux命令的解决方法及注意事项
2023-07-13 00:14:58
![](https://img.aspxhome.com/file/2023/4/83524_0s.jpg)
基于WPF实现筛选下拉多选控件
2021-11-15 20:47:50
![](https://img.aspxhome.com/file/2023/4/69784_0s.png)
C#数据类型转换(显式转型、隐式转型、强制转型)
2021-11-24 13:44:25
![](https://img.aspxhome.com/file/2023/1/72461_0s.jpg)
Spring Security基于json登录实现过程详解
2023-12-07 07:15:18
![](https://img.aspxhome.com/file/2023/4/72354_0s.png)
详解Java实现缓存(LRU,FIFO)
2022-04-24 13:35:26
![](https://img.aspxhome.com/file/2023/1/64101_0s.png)
C# dump系统lsass内存和sam注册表详细
2021-06-26 12:19:53
![](https://img.aspxhome.com/file/2023/9/70429_0s.jpg)
Java运算符的知识点与代码汇总
2022-12-05 19:03:36