نحوه ی درج اطلاعات فایل 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>