C# 使用C从XML创建SQL表
正在寻找有关以下代码的帮助-我正在尝试找出在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) {
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;
}
}