XML文件数据写入数据库(XML参考ytbank.xml)

XML文件

代码
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();
        }
posted @ 2010-06-20 20:01  凭栏处  阅读(1340)  评论(0编辑  收藏  举报