Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C从XML创建SQL表_C#_Sql_Sql Server - Fatal编程技术网

C# 使用C从XML创建SQL表

C# 使用C从XML创建SQL表,c#,sql,sql-server,C#,Sql,Sql Server,正在寻找有关以下代码的帮助-我正在尝试找出在XML文件中的何处编写代码,我实际上想使用该文件来移动到SQL表。我只是不知道如何从我的文件系统中指定它 using System; using System.Data.SqlClient; using System.Xml.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) {

正在寻找有关以下代码的帮助-我正在尝试找出在XML文件中的何处编写代码,我实际上想使用该文件来移动到SQL表。我只是不知道如何从我的文件系统中指定它

using System;
using System.Data.SqlClient;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var con = new SqlConnection("Server=(local);Database=TempDb;Integrated Security=true"))
            {
                con.Open();

                var cmdCreateTable = new SqlCommand("if object_id('dbo.t') is null create table t(id int identity primary key, doc xml);",con);
                cmdCreateTable.ExecuteNonQuery();

                var cmdInsertXml = new SqlCommand("insert into t(doc) values (@doc);", con);
                var pDoc = cmdInsertXml.Parameters.Add("@doc", System.Data.SqlDbType.Xml);

                var doc = XDocument.Parse("<root><cn/><cn/><cn/></root>");
                pDoc.Value = doc.CreateReader();

                cmdInsertXml.ExecuteNonQuery();

                var cmdRetrieveXml = new SqlCommand("select id, doc from t",con);
                using (var rdr = cmdRetrieveXml.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        var xr = rdr.GetSqlXml(1);
                        var rd = XDocument.Parse(xr.Value);
                        Console.WriteLine(rd.ToString());

                    }
                }
            }
        }
    }
}

我不确定我有没有权利,但是如果你想试试的话,我发现了这个

尝试从DataTable读取xml


之后,尝试从DataTable创建SQL表。请参见此图。

我不确定是否正确,但如果您想尝试,我发现了此图

尝试从DataTable读取xml


之后,尝试从DataTable创建SQL表。请参见此。

根据前面提到的代码,我认为下面的行需要更新 var doc=XDocument.Parse

我会这样说 var doc=XDocument.ParseFile.ReadAllTextfilePath


这只有在文件格式正确的情况下才有效。

根据前面提到的代码,我认为下面的行需要更新 var doc=XDocument.Parse

我会这样说 var doc=XDocument.ParseFile.ReadAllTextfilePath


这只有在文件格式正确的情况下才有效。

那么这是一个关于如何从文件创建xml类型参数的问题吗?如果是这样的话,那么这个例子的其余部分就相当混乱,这个问题并没有反映出真正的问题。那么这是一个关于如何从文件中创建xml类型的参数的问题吗?如果是这样的话,这个例子的其余部分就相当嘈杂,这个问题并没有反映出真正的问题。
DataTable table;

   private void createDatatableFromXML()
   {
       table = new DataTable();
       string dataFile = @"DatafileLocation\datafile.xml";
       if (File.Exists(dataFile))
       {
           table.ReadXml(dataFile);

       }
       else
       {
          //Do som messaging
           return;
       }
   }