XML文件数据写入数据库(XML参考ytbank.xml)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
static void Main(string[] args)
{
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\")
|| dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
string filename = @"c:\ytbank.xml";
using (FileStream fs = File.OpenRead(filename))
{
XDocument doc = XDocument.Load(fs);
using (IDbConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DatabaseYTXml.mdf;Integrated Security=True;User Instance=True"))
{
conn.Open();
IDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into YTBankXml (JIaoYiMa, LiuShuiHao,JinE,FuKuanJiGou,FuKuanDanWeiZhangHao,ShouKuanJiGou,ShouKuanJiKouZhangHao) values (@JIaoYiMa, @LiuShuiHao,@JinE,@FuKuanJiGou,@FuKuanDanWeiZhangHao,@ShouKuanJiGou,@ShouKuanJiKouZhangHao);";
foreach (var msg in doc.Root.Descendants("MSG"))
{
string jiaoyima = msg.Element("交易码").Attribute("val").Value;
string liushuihao = msg.Element("流水号").Attribute("val").Value;
string jine = msg.Element("金额").Attribute("val").Value;
string fukuanjigou = msg.Element("付款机构").Attribute("val").Value;
string fukuandanweizhanghao = msg.Element("付款单位账号").Attribute("val").Value;
string shoukuanjigou = msg.Element("收款机构").Attribute("val").Value;
string shoukuandanweizhanghao = msg.Element("收款单位账号").Attribute("val").Value;
cmd.Parameters.Clear(); //必须Clear();
////此处为cmd.AddWithValue("JIaoYiMa", jiaoyima)方法的源代码 public static void AddWithValue(this IDbCommand cmd, string paramName, string value)
//IDbDataParameter pSeqNo = cmd.CreateParameter();
//pSeqNo.ParameterName = "JIaoYiMa"; //数据库中字段
//pSeqNo.Value = 交易码;
cmd.AddWithValue("JIaoYiMa", jiaoyima);
cmd.AddWithValue("LiuShuiHao", liushuihao);
cmd.AddWithValue("JinE", jine);
cmd.AddWithValue("FuKuanJiGou", fukuanjigou);
cmd.AddWithValue("FuKuanDanWeiZhangHao", fukuandanweizhanghao);
cmd.AddWithValue("ShouKuanJiGou", shoukuanjigou);
cmd.AddWithValue("ShouKuanJiKouZhangHao", shoukuandanweizhanghao);
cmd.ExecuteNonQuery();
}
}
}
Console.WriteLine("OK");
Console.ReadKey();
}
{
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\")
|| dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
string filename = @"c:\ytbank.xml";
using (FileStream fs = File.OpenRead(filename))
{
XDocument doc = XDocument.Load(fs);
using (IDbConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DatabaseYTXml.mdf;Integrated Security=True;User Instance=True"))
{
conn.Open();
IDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into YTBankXml (JIaoYiMa, LiuShuiHao,JinE,FuKuanJiGou,FuKuanDanWeiZhangHao,ShouKuanJiGou,ShouKuanJiKouZhangHao) values (@JIaoYiMa, @LiuShuiHao,@JinE,@FuKuanJiGou,@FuKuanDanWeiZhangHao,@ShouKuanJiGou,@ShouKuanJiKouZhangHao);";
foreach (var msg in doc.Root.Descendants("MSG"))
{
string jiaoyima = msg.Element("交易码").Attribute("val").Value;
string liushuihao = msg.Element("流水号").Attribute("val").Value;
string jine = msg.Element("金额").Attribute("val").Value;
string fukuanjigou = msg.Element("付款机构").Attribute("val").Value;
string fukuandanweizhanghao = msg.Element("付款单位账号").Attribute("val").Value;
string shoukuanjigou = msg.Element("收款机构").Attribute("val").Value;
string shoukuandanweizhanghao = msg.Element("收款单位账号").Attribute("val").Value;
cmd.Parameters.Clear(); //必须Clear();
////此处为cmd.AddWithValue("JIaoYiMa", jiaoyima)方法的源代码 public static void AddWithValue(this IDbCommand cmd, string paramName, string value)
//IDbDataParameter pSeqNo = cmd.CreateParameter();
//pSeqNo.ParameterName = "JIaoYiMa"; //数据库中字段
//pSeqNo.Value = 交易码;
cmd.AddWithValue("JIaoYiMa", jiaoyima);
cmd.AddWithValue("LiuShuiHao", liushuihao);
cmd.AddWithValue("JinE", jine);
cmd.AddWithValue("FuKuanJiGou", fukuanjigou);
cmd.AddWithValue("FuKuanDanWeiZhangHao", fukuandanweizhanghao);
cmd.AddWithValue("ShouKuanJiGou", shoukuanjigou);
cmd.AddWithValue("ShouKuanJiKouZhangHao", shoukuandanweizhanghao);
cmd.ExecuteNonQuery();
}
}
}
Console.WriteLine("OK");
Console.ReadKey();
}