手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#怎样才能将XML文件导入SQL Server
C#怎样才能将XML文件导入SQL Server
摘要:问:怎样才能将XML文件导入SQLServer2000?答:将XML文件导入SQLServer有若干种方法,这里提供其中的3种:大容量装载C...

问:怎样才能将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);

}

}

【C#怎样才能将XML文件导入SQL Server】相关文章:

C# Linq读取XML文件的实例

C#获取全部目录和文件的简单实例

C# 文字代码页 文字编码的代码页名称速查表

介绍C# 泛型类在使用中约束

C# 执行bat批处理文件的小例子

C#获取计算机名,IP,MAC信息实现代码

浅谈Silverlight 跨线程的使用详解

C#中读写INI文件的方法例子

C#数据库操作小结

C#中timer类的用法总结

精品推荐
分类导航