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

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

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

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

شروع موضوع توسط saeid-ha ‏Aug 12, 2013 در انجمن برنامه نویسی و طراحی سایت

  1. saeid-ha

    saeid-ha belong to autumn !...

    3,098
    11,982
    1,894
    ایجاد فایل 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 و ♥سایه♥ از این پست تشکر کرده اند.
  2. lady taylor

    lady taylor مـــــلکـــــــــه (جدید)انــــجــــمـــن ^_^

    3,666
    11,050
    1,481
    ممنون
     
    saeid-ha از این پست تشکر کرده است.