c# - 如何将 xml 导出到数据库 - asp.net

标签 c# asp.net sql-server xml-database

我想将xml文件数据导出到sql数据库表。有人可以指导我吗?

最佳答案

如果是 SQL Server,我已经回答过类似的问题。看看下面的帖子:

.NET: How to insert XML document into SQL Server

您可以使用那个小的 C# 部分来存储您的数据。您只需修改表和列字段即可。

class Program
{
    private static void SaveXmlToDatabase(DbConnection connection,
          XmlDocument xmlToSave)
    {
       String sql = "INSERT INTO xmlTable(xmlColumn) VALUES (@xml)";

       using (DbCommand command = connection.CreateCommand())
       {
          XPathNavigator nav = xmlToSave.CreateNavigator();
          string xml = nav.SelectSingleNode("/catalog/cd[title='Manowar']").InnerXml;

          command.CommandText = sql;
          command.Parameters.Add(
            new SqlParameter("@xml", SqlDbType.Xml) 
               {Value = new SqlXml(new XmlTextReader(xml
                           , XmlNodeType.Document, null)) });

          DbTransaction trans = connection.BeginTransaction();
          try
          {
             command.ExecuteNonQuery();
             trans.Commit();
          }
          catch (Exception)
          {
             trans.Rollback();
             throw;
          }
       }
    }

    static void Main(string[] args)
    {
        XmlDocument document = new XmlDocument();
        document.Load(args.First());

        SqlConnection connection = new SqlConnection(
            "Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;");

        SaveXmlToDatabase(connection, document);

        connection.Close();
    }
}

关于c# - 如何将 xml 导出到数据库 - asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3598253/

相关文章:

c# - 如何从 char 值中检索 Enum?

c# - 说明静态成员

c# - UserManager.CreateAsync 挂起从单元测试而不是 Postman 执行

asp.net - 红隼 : An anonymous request was received in between authentication handshake requests?

c# - 如何判断连接字符串属于 MySql 还是 SQL Server?

c# - mysql 选择像列一样的列1 或列2

c# - SignalR - 如何从服务器调用服务器上的集线器方法

c# - 没有其他验证的验证摘要

sql - 如何防止 'query timeout expired' ? (SQLNCLI11 错误 '80040e31' )

sql-server - 如何在SQL Server数据库中使用 Elasticsearch