نحوه ی درج اطلاعات فایل XML به پایگاه داده
XML مخفف عبارت Xtensible Markup Language ، به معنای زبان فرا متنی قابل توسعه است . زبان فرامتنی در اصطلاح به زبانی گفته می شود که با استفاده از یکسری علام و یا نشانه ها ، به کاربر و یا هر برنامه دیگری که اطلاعات به آن وارد می شود ، می فهماند که اطلاعات را چگونه ویرایش و یا استفاده نماید .
برای مثال همانطور که می دانید ، HTML یک زبان فرا متنی است . در HTML نشانه هایی به نام تگ داریم . هنگامی که شما یک متن را بین تگ باز و بسته < b > < /b > قرار دهید ، مرورگر متوجه می شود که آن متن را باید به صورت توپر نمایش دهد . XML هم همانند HTML ، یک زبان فرامتنی است و در آن از تگ ها و نشانه هایی برای دسته بندی و انتفال اطلاعات استفاده می شود . XML با هدف نگهداری و انتقال اطلاعات طراحی شده است و نه برای نمایش آنها . تگ ها و نشانه های XML از قبل تعریف نشده اند ، بلکه کاربر بر حسب نیاز و کاری که می خواهد انجام دهد ، تگ های دلخواه خود را ایجاد می کند . به همین دلیل به XML یک زبان قابل توسعه می گویند ، چون شما می توانید هر چه قدر که نیاز داشته باشید ، برای خود تگ های جدید ایجاد نمایید . با استفاده از کد زیر مقادیر موجود در تگ های فایل product.xml را در بانک اطلاعاتی درج می کنیم:
string connetionString = null; SqlConnection SqlConnection1; SqlCommand SqlCommand1; SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter(); DataSet DataSet1 = new DataSet(); XmlReader XmlReader1; string sql = null; int product_ID = 0; string Product_Name = null; double product_Price = 0; connetionString = "Data Source=servername;Initial Catalog=databsename;User ID=username;Password=password"; SqlConnection1 = new SqlConnection(connetionString); XmlReader1 = XmlReader.Create("Product.xml", new XmlReaderSettings()); DataSet1.ReadXml(XmlReader1); int i = 0; SqlConnection1.Open(); for (i = 0; i <= DataSet1.Tables[0].Rows.Count - 1; i++) { product_ID = Convert.ToInt32(DataSet1.Tables[0].Rows[i].ItemArray[0]); Product_Name = DataSet1.Tables[0].Rows[i].ItemArray[1].ToString(); product_Price = Convert.ToDouble(DataSet1.Tables[0].Rows[i].ItemArray[2]); sql = "insert into Product values(" + product_ID + ",'" + Product_Name + "'," + product_Price + ")"; SqlCommand1 = new SqlCommand(sql, SqlConnection1); SqlDataAdapter1.InsertCommand = SqlCommand1; SqlDataAdapter1.InsertCommand.ExecuteNonQuery(); } SqlConnection1.Close(); MessageBox.Show("Done .. ");
نکته : رشته اتصال بانک اطلاعاتی خود را جایگزین رشته اتصال موجود در کد بالا نمایید.همچنین فایلی به نام product.xml با ساختار زیر را در مسیر اجرایی پروژه قرار دهید :
<Table> <Product> <Product_id>1</Product_id> <Product_name>Product 1</Product_name> <Product_price>1000</Product_price> </Product> <Product> <Product_id>2</Product_id> <Product_name>Product 2</Product_name> <Product_price>2000</Product_price> </Product> <Product> <Product_id>3</Product_id> <Product_name>Product 3</Product_name> <Product_price>3000</Product_price> </Product> <Product> <Product_id>4</Product_id> <Product_name>Product 4</Product_name> <Product_price>4000</Product_price> </Product> </Table>