نمایش نتایج 1 تا 12 از 12

نام تاپیک: ارسال اطلاعات به فایل xml

  1. #1
    کاربر دائمی آواتار niknam_mh
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    شيراز
    پست
    235

    ارسال اطلاعات به فایل xml

    سلام دوستان
    من نیاز دارم که تو سورس وی بی دات نتم از داخل نرم افزار اطلاعاتی رو بفرستم به فایل xml یا sxml که مثل گزینه زیر باشه و در هر دفعه یکی اضاف کنه بفرستم:


    <RizSnd>
    <Rdif>1</Rdif>
    <CodMoin>مقدار</CodMoin>
    <CodTfzili>مقدار</CodTfzili>
    <Shrh>مقدار</Shrh>
    <MblgBdhkar>0</MblgBdhkar>
    <MblgBstankar>مقدار</MblgBstankar>
    <Sth5>0</Sth5>
    <Sth6>0</Sth6>
    <Del>true</Del>
    <bdhkar>0</bdhkar>
    <bstankar>مقدار</bstankar>
    <Mgdar>0</Mgdar>
    <TdadArz>0</TdadArz>
    </RizSnd>


    دوستان راهنمای کنید خیلی ضروریه ممنون میشم
    آخرین ویرایش به وسیله niknam_mh : دوشنبه 20 اردیبهشت 1400 در 19:11 عصر




  2. #2

    نقل قول: ارسال اطلاعات به فایل xml

    نقل قول نوشته شده توسط niknam_mh مشاهده تاپیک
    سلام دوستان
    من نیاز دارم که تو سورس وی بی دات نتم از داخل نرم افزار اطلاعاتی رو بفرستم به فایل xml یا sxml که مثل گزینه زیر باشه و در هر دفعه یکی اضاف کنه بفرستم:


    <RizSnd>
    <Rdif>1</Rdif>
    <CodMoin>مقدار</CodMoin>
    <CodTfzili>مقدار</CodTfzili>
    <Shrh>مقدار</Shrh>
    <MblgBdhkar>0</MblgBdhkar>
    <MblgBstankar>مقدار</MblgBstankar>
    <Sth5>0</Sth5>
    <Sth6>0</Sth6>
    <Del>true</Del>
    <bdhkar>0</bdhkar>
    <bstankar>مقدار</bstankar>
    <Mgdar>0</Mgdar>
    <TdadArz>0</TdadArz>
    </RizSnd>


    دوستان راهنمای کنید خیلی ضروریه ممنون میشم
    وقتی شما یک کلاسی داشته باشید (که فرضا مشخصه یا فیلد هایی به اسم Rdif و CodMoin داره)، XmlSerializer خیلی ساده شیء اون کلاس رو تبدیل می کنه به XML یا برعکس XML رو تبدیل می کنه به شیء اون کلاس.

    فرض کنیم همچین کلاسی دارید :

    Class RizSnd
    Public Rdif As Integer
    Public CodMoin As Integer
    Public CodTfzili As Integer
    End Class


    یا همچین کلاسی :

    Class RizSnd
    Public Property Rdif As Integer
    Public Property CodMoin As Integer
    Public Property CodTfzili As Integer
    End Class


    اونوقت اگر می خواهید XML بدون اضافه کردن Declaration استاندارد XML نوشته بشه، مثل اون مثال خودتون :

    Public Shared Function ObjectToXml (obj As Object) As String
    Dim serializer = New Xml.Serialization.XmlSerializer (obj.GetType ())
    Dim settings = New Xml.XmlWriterSettings ()
    Dim namespaces = New Xml.Serialization.XmlSerializerNamespaces (New Xml.XmlQualifiedName () {Xml.XmlQualifiedName.Empty})
    settings.OmitXmlDeclaration = True
    settings.Indent = True
    Using w As New IO.StringWriter ()
    Using ww = Xml.XmlWriter.Create (w, settings)
    serializer.Serialize (ww, obj, namespaces)
    Return w.ToString ()
    End Using
    End Using
    End Function


    یا همراه با Declaration استاندارد نوشته بشه :

    Public Shared Function ObjectToXml (obj As Object) As String
    Dim serializer = New Xml.Serialization.XmlSerializer (obj.GetType ())
    Using w As New IO.StringWriter ()
    serializer.Serialize (w, obj)
    Return w.ToString ()
    End Using
    End Function


    مثلا :

    Dim r As New RizSnd
    Dim xml = ObjectToXml (r)
    MessageBox.Show (xml)

  3. #3
    کاربر دائمی آواتار niknam_mh
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    شيراز
    پست
    235

    نقل قول: ارسال اطلاعات به فایل xml

    سلام دوست عزیز
    ممنونم از پاسختون از وقتی که گذاشتید حالا چند تا سوال دارم:
    1- چطور بهشون مقدار بدیم
    2- چطور بفرستیمش رو فایل xml
    3- چطور هر دفعه یه ردیف بهش اضافه بشه
    4- چطور میتونیم از روی فایل لودش کنیم داخل دیتا گرید ویو

    ممنون از شما

  4. #4

    نقل قول: ارسال اطلاعات به فایل xml

    سلام دوست عزیز وقت بخیر
    دوست عزیزمون the king توضیحات خوبی ارائه دادند و به نظرم کامل و جامع بود منتحی من هم یک نظری دارم
    اطلاعات که قراره ذخیره کنی رو حالا از داخل دیتاگرید و یا دیتاست یا دیتاتیبل.مستقیم xml کن اینجوری فکر کنم کارت راحتتر بشه.چون فکر میکنم میخوای هر سری یک ردیف به اطلاعات اضافه کنی

    خب برای شروع اول یک دیتاگرید توی فرم قرار بده به همراه دو باتن بعد کدهای زیر رو توش قرار بده.توضیحات لازم رو برات نوشتم.حالا هرجوری دوست داشتی از این اطلاعات استفاده کن
    موفق باشی





    Public Class Form1


    '......................................... تیبل رو تعریف میکنیم...................................... ...


    Dim datatable As New DataTable


    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click




    '......................................... نام جدول انتخاب میکنیم...................................... ...


    datatable.TableName = "RizSnd"




    '......................................... اینجا بر اساس فیلدی که خواستی یک دیتاتیبل تعریف میکنیم و نام جدول انتخاب میکنیم...................................... ...




    datatable.Columns.Add("CodMoin")
    datatable.Columns.Add("CodTfzili")
    datatable.Columns.Add("Shrh")
    datatable.Columns.Add("MblgBdhkar")
    datatable.Columns.Add("MblgBstankar")
    datatable.Columns.Add("Sth5")
    datatable.Columns.Add("Sth6")
    datatable.Columns.Add("Del")
    datatable.Columns.Add("bdhkar")
    datatable.Columns.Add("bstankar")
    datatable.Columns.Add("Mgdar")
    datatable.Columns.Add("TdadArz")




    '..............................................د این قسمت یه ردیف به جدول اضافه میکنیم و هر جور خواستید بهش مقدار میدین.......................................
    datatable.Rows.Add()
    datatable.Rows(0)("CodMoin") = "1"
    datatable.Rows(0)("CodTfzili") = "مقدار"
    datatable.Rows(0)("Shrh") = "مقدار"
    datatable.Rows(0)("MblgBdhkar") = "0"
    datatable.Rows(0)("MblgBstankar") = "مقدار"
    datatable.Rows(0)("Sth5") = "0"
    datatable.Rows(0)("Sth6") = "0"
    datatable.Rows(0)("Del") = "true"
    datatable.Rows(0)("bdhkar") = "0"
    datatable.Rows(0)("bstankar") = "مقدار"
    datatable.Rows(0)("Mgdar") = "0"
    datatable.Rows(0)("TdadArz") = "0"




    '................................................. ......مثلا من میخوام دو تا ردیف داشته باشه جدولم....................................
    datatable.Rows.Add()
    datatable.Rows(1)("CodMoin") = "2"
    datatable.Rows(1)("CodTfzili") = "مقدار"
    datatable.Rows(1)("Shrh") = "مقدار"
    datatable.Rows(1)("MblgBdhkar") = "0"
    datatable.Rows(1)("MblgBstankar") = "مقدار"
    datatable.Rows(1)("Sth5") = "0"
    datatable.Rows(1)("Sth6") = "0"
    datatable.Rows(1)("Del") = "true"
    datatable.Rows(1)("bdhkar") = "0"
    datatable.Rows(1)("bstankar") = "مقدار"
    datatable.Rows(1)("Mgdar") = "0"
    datatable.Rows(1)("TdadArz") = "0"






    '................................اینجا اطلاعات رو توی دیتاگرید نمایش میده........................................


    Me.DataGridView1.DataSource = datatable




    '................................xml........این جا بهش مسیر برای ذخیره میدیم................................
    datatable.WriteXml("C:\Desktop\900\1.xml")


    End Sub


    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click


    '......................................... یه دیتاست تعریف میکنیم...................................... ...


    Dim DataSet As New DataSet


    '................................xml........این جا بهش مسیر برای بازگرداندن اطلاعات میدیم................................
    DataSet.ReadXml("C:Desktop\900\1.xml")


    '......................................... تیبل رو تعریف میکنیم...................................... ...
    datatable = DataSet.Tables("RizSnd")


    '................................اینجا اطلاعات رو توی دیتاگرید نمایش میده........................................
    Me.DataGridView1.DataSource = datatable
    End Sub
    End Class


    آخرین ویرایش به وسیله hamidrezax1 : جمعه 24 اردیبهشت 1400 در 10:16 صبح

  5. #5
    کاربر دائمی آواتار niknam_mh
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    شيراز
    پست
    235

    نقل قول: ارسال اطلاعات به فایل xml

    سلام آقا حمیدرضا گل
    ممنونم از لطف شما و دوست عزیزمون the king

  6. #6
    کاربر دائمی آواتار niknam_mh
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    شيراز
    پست
    235

    نقل قول: ارسال اطلاعات به فایل xml

    سلام دوست عزیز
    الان فایلی که بوجود میاد به صورت زیر است :


    <?xml version="1.0" standalone="yes"?>
    <DocumentElement>
    <RizSnd>
    <CodMoin>1</CodMoin>
    <CodTfzili>مقدار</CodTfzili>
    <Shrh>مقدار</Shrh>
    <MblgBdhkar>0</MblgBdhkar>
    <MblgBstankar>مقدار</MblgBstankar>
    <Sth5>0</Sth5>
    <Sth6>0</Sth6>
    <Del>true</Del>
    <bdhkar>0</bdhkar>
    <bstankar>مقدار</bstankar>
    <Mgdar>0</Mgdar>
    <TdadArz>0</TdadArz>
    </RizSnd>
    </DocumentElement>


    ولی من می خواهم یه فایل برام بسازه به صورت زیر:

    <?xml version="1.0" standalone="yes"?>
    <DsSnd xmlns="http://tempuri.org/DsSnd.xsd">
    <RizSnd>
    <CodMoin>1</CodMoin>
    <CodTfzili>مقدار</CodTfzili>
    <Shrh>مقدار</Shrh>
    <MblgBdhkar>0</MblgBdhkar>
    <MblgBstankar>مقدار</MblgBstankar>
    <Sth5>0</Sth5>
    <Sth6>0</Sth6>
    <Del>true</Del>
    <bdhkar>0</bdhkar>
    <bstankar>مقدار</bstankar>
    <Mgdar>0</Mgdar>
    <TdadArz>0</TdadArz>
    </RizSnd>
    </DsSnd>


    یعنی به جای <DocumentElement> و </DocumentElement> مقدار <DsSnd xmlns="http://tempuri.org/DsSnd.xsd> و </DsSnd> قرار بده
    به نظر شما راهی داره ؟
    ممنون میشم راهنماییم کنید خیلی لازم دارم
    آخرین ویرایش به وسیله niknam_mh : جمعه 24 اردیبهشت 1400 در 19:49 عصر

  7. #7

    نقل قول: ارسال اطلاعات به فایل xml

    دوست عزیز بعضی مواقع راهکارهایی هست که شما رو به جواب سریع میرسونه شاید اصولی نباشه اما کار راه اندازه.از دوستان میخوام که لطف کننو اصولی راهنمایی کنند اما چون احتمالا درگیر این کار هستید میتونید در آخر بعد از تهیه فایل xml از این کد استفاده کنید





    '................................xml........این جا بهش مسیر برای ذخیره میدیم................................
    datatable.WriteXml("C:Desktop\900\1.xml")




    Dim fileData As String
    fileData = File.ReadAllText("C:Desktop\900\1.xml")
    Dim a As String = "<?xml version=""1.0""" + " standalone=" + """yes""" + "?>"
    fileData = fileData.Replace(a, "")
    fileData = fileData.Replace("<DocumentElement>", "")
    fileData = fileData.Replace("</DocumentElement>", "")
    fileData = "<?xml version=""1.0""" + " standalone=" + """yes""" + "?>" + vbCrLf + "<DsSnd xmlns=" + """http://tempuri.org/DsSnd.xsd""" + ">" & fileData & "</DsSnd>"
    File.WriteAllText("C:Desktop\900\1.xml", fileData)



  8. #8
    کاربر دائمی آواتار niknam_mh
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    شيراز
    پست
    235

    نقل قول: ارسال اطلاعات به فایل xml

    دوست عزیز جناب hamidrezax1
    نمی دونم چطور تشکر کنم خیلی عالی بود کارم راه افتاد خیلی بهش نیاز داشتم خودم اصلا با فایل ها تا حالا کار نکرده بودم خدا خیرت بده قربون معرفتت که وقت گذاشتی
    آخرین ویرایش به وسیله niknam_mh : جمعه 24 اردیبهشت 1400 در 20:09 عصر

  9. #9
    کاربر دائمی آواتار niknam_mh
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    شيراز
    پست
    235

    نقل قول: ارسال اطلاعات به فایل xml

    سلام دوست عزیز
    اگه بخوایم ابتدا اطلاعات رو بفرستیم رو دیتاگرید ویو و بعد ارسال بشه رو فایل و همچنین بتونیم ردیف خاصی رو حذف یا ویرایش کنیم امکانش هست؟؟؟

  10. #10

    نقل قول: ارسال اطلاعات به فایل xml

    سلام دوست عزیز میشه با مثال سوالتون توضیح بدین

  11. #11
    کاربر دائمی آواتار niknam_mh
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    شيراز
    پست
    235

    نقل قول: ارسال اطلاعات به فایل xml

    نقل قول نوشته شده توسط hamidrezax1 مشاهده تاپیک
    سلام دوست عزیز میشه با مثال سوالتون توضیح بدین
    سلام دوست عزیزنرم افزاری که من دارم مینویسم از چند جای مختلف مورد استفاده قرار می گیره و همه اطلاعات در یک دیتابیس که روی سرور هست قرار می گیره حالا من می خوام تو یه بازه زمانی اطلاعات رو لود کنم داخل یه دیتاگرید ویو و از اونجا بفرستم رو فایل xml
    حالا شما نطرتون چیه؟
    بهترین راه حل چیه؟
    ممنونم

  12. #12

    نقل قول: ارسال اطلاعات به فایل xml

    سلام دوست عزیز ببخشید که دیر جواب دادم.اول از همه بهتره اطلاعات رو داخل یک دیتاتیبل بفرستین چون قبل و یا بعد از ورود اطلاعات شما به این دیتاتیبل دسترسی دارین.قبلش میتونید با شرط هایی که مد نظرتون هست از ورود اطلاعات جلوگیری کنید و بعدش هم میتونید اون ردیف مورد نظر رو توی دیتاتیبل ویرایش و یا حذف کنید.آخر کار هم همون خروجی که مد نظرتون هست رو دریافت کنید
    موفق باشید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •