• این پایگاه به ثبت ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ایران رسیده است.

    مهمان عزیز سپاس بابت بازدید شما از تالار گفتگوی دهه هفتادی ها.

    عضویت در انجمن رایگان بوده و برای عموم باز میباشد . با صرف 30 ثانیه یکی از اعضای دهه هفتادی ها شوید .

ایجاد فایل Xml با استفاده از یک بانک اطلاعاتی

saeid-ha

belong to autumn !...
ارسال ها
3,098
لایک ها
11,901
#1
ایجاد فایل XML با استفاده از یک بانک اطلاعاتی

از بانک های اطلاعاتی به منظور ذخیره و مدیریت داده ها استفاده می گردد . در صورتی که قصد ارسال داده های ذخیره شده در یک بانک اطلاعاتی را برای یک سرویس گیرنده داشته باشیم ، XML گزینه ای مطلوب در این رابطه است . با استفاده از XML داده ها در ساختاری ذخیره و سازماندهی می شوند که سرویس گیرندگان با هر نوع پلت فرم قادر به استفاده از آنان با توجه به اهداف عملیاتی خود می باشند. در حقیقت ، XML مکانیزم استانداردی به منظور مبادله داده بین دو نقطه مبداء و مقصد را فراهم می نماید . بدین ترتیب بخش های متفاوت یک نرم افزار و یا نرم افزارهای مختلف ، قادر به مبادله داده بین خود خواهند بود .
XML در دات نت دارای نقشی محوری و اساسی بوده و نظیر چسبی است که تمام بخش های فریمورک دات نت را به یکدیگر متصل و مرتبط می نماید .مثلا" ADO.NET اساس کار خود را بر روی DataSet استوار نموده که بطور کامل از XML حمایت می نماید . کلاس DataSet دارای مجموعه وسیعی از متدهای لازم به منظور پردازش اسناد XML است . برخی از متداولترین آنان عبارتند از :

ReadXml

WriteXml

GetXml

GetXmlSchema

InferXmlSchema

ReadXmlSchema

WriteXmlSchema.

در این مقاله با نحوه ایجاد یک سند XML که محتویات آن متاثر از اجرای یک query در ارتباط با یک بانک اطلاعاتی می باشد ، آشنا خواهیم شد. بدین منظور مراحل زیر را دنبال خواهیم کرد :

مرحله اول : ایجاد بانک اطلاعاتی ( از یک بانک اطلاعاتی Access استفاده خواهیم کرد )

مرحله دوم : مشخص نمودن یک ساختار برای فایل XML

مرحله سوم : ایجاد یک فرم وب که لیست محصولات را در یک DataGrid نمایش داده و کاربر بتواند با استفاده از Button تعبیه شده بر روی آن اقدام به ایجاد فایل XML و Schema مربوط به آن نماید .

مرحله چهارم : ایجاد یک DataSet و پر نمودن داده در آن با استفاده از یک SQL query ( این کار را در روتین Page_Load انجام خواهیم داد )

مرحله پنجم : نوشتن روتین مربوط به ایجاد فایل XML

مرحله اول : ایجاد بانک اطلاعاتی
بانک اطلاعاتی Products و جدول OurProducts



مرحله دوم : مشخص نمودن یک ساختار برای فایل XML
فایل XML که قصد ایجاد آن را داریم دارای ساختار زیر است :




فا یل XML نمونه

<XMLProducts>
<ProductSpec>
<ProductID> </ProductID>
<ProductName> </ProductName>
<UnitPrice> </UnitPrice>
</ProductSpec>
...
</XMLProducts>
مرحله سوم : ایجاد یک فرم وب
در فرم وب از دو کنترل DataGrid و Button استفاده شده است . از کنترل DataGrid به منظور نمایش محتویات Dataset و از کنترل Button به منظور ایجاد فایل XML ، استفاده خواهیم کرد .


فرم وب

<%@ Page Language ="VB" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data.OleDb" %>
<html><head></head><body>
<form runat="server">
<b>لیست محصولات </b> <br/><br/>
<asp:16:ataGrid id="ProductGrid" runat="server"
AutoGenerateColumns="False"
Font-Names="Tahoma"
Font-Size="8pt"
CellPadding="1"
GridLines="Horizontal"
...
</asp:16:ataGrid>
<br/><br/>
<asp:Button id="cmdMakeXML" Text="ایجاد فایل XML " runat="server" onclick="MakeXML"/>
</body></form></html>
مرحله چهارم : ایجاد یک DataSet و پر نمودن داده در آن
این کار از طریق روتین Page_laod انجام می شود . در این روتین پس از ارتباط با بانک اطلاعاتی Products و اجرای یک query در ارتباط با جدول OurProducts ، داده مورد نظر در DataSet قرار گرفته و در نهایت با نسبت دهی آن به خصلت DataSource کنترل DataGrid ، داده ها در کنترل DataGrid نمایش داده می شوند .


روتین Page_Load

Sub Page_Load(s As Object, e As EventArgs)
If Not Page.IsPostBack Then
Dim myDataSet As New DataSet("myXMLProduct")
Dim myConn As New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Products.mdb")
Dim mydataAdapter As New OleDbDataAdapter _
("SELECT ProductID,ProductName,UnitPrice FROM OurProducts" ,myConn)
mydataAdapter.Fill(myDataSet,"ProductSpec")
ProductGrid.DataSource=myDataSet.Tables(0)
ProductGrid.DataBind
Session("Ds")=myDataSet
End If
End Sub
مرحله پنجم : روتین MakeXml
در این مرحله فایل های myXMLData.xml و myXMLData.xsd ایجاد خواهند شد . بدین منظور یک DataSet ایجاد و داده آن از طریق متغیر Session ایجاد شده در روتین Page_Load پر می گردد .


روتین MakeXml

Sub MakeXML(s As Object, e As EventArgs)
Dim myFs1 As New FileStream (Server.MapPath _
("myXMLData.xml") ,FileMode.Create ,FileShare.ReadWrite)
Dim myFs2 As New FileStream(Server.MapPath _
("myXMLData.xsd"),FileMode.Create,FileShare.ReadWrite)
Dim myDataSet As New DataSet
myDataSet=Session("Ds")
myDataSet.WriteXml(myFs1)
myFs1.Close()
myDataSet.WriteXmlSchema(myFs2)
myFs2.Close()
End Sub


پس از ذخیره تمامی کدهای اشاره شده در فایل MakeXmlFromDataBase.aspx و مشاهده آن در مرورگر ، خروجی زیر را خواهیم داشت :



پس از فعال نمودن دکمه "ایجاد فایل XML " ، فایل های myXMLData.xml و myXMLData.xsd ایجاد می گردند .
 

lady taylor

مـــــلکـــــــــه (جدید)انــــجــــمـــن ^_^
ارسال ها
3,666
لایک ها
11,013
محل سکونت
tehran
#2
ممنون
 
بالا