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

نام تاپیک: DataSet و XML

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    DataSet و XML

    سلام خسته نباشيد.
    يه سوال در مورد DataSet و XML داشتم و اونم اينه كه وقتي كه من اطلاعات يه DataSet رو تبديل به XML ميكنم فقط نام جداول و فيلدهاي اونها تويه اون فايل قرار داده شده.و من منظور از قرار دادن قابليت تبديل DataSet به XML رو براي DataSet نفهميدم .اگه ميشه اين مورد رو حتما توضيح بديد.قالبا گفته ميشه كه XML براي انتقال اطلاعات استفاده ميشه ولي ما در اينجا فقط يه سري نام فيلد و اسم جدول در دسترس داريم يعني اين اون اطلاعاتي است كه ازش صحبت ميشه؟
    انتقال اين اطلاعات (مثلا اسم فيلد و اسم جدول) ميتونه چه سودي براي ما داشته باشه؟
    و سوال آخر اينكه براي انتقال اطلاعات اصلي (اطلاعاتي كه در پايگاه داده ذخيره شده اند) توسط XML چه بايد كرد؟

  2. #2

    نقل قول: DataSet و XML

    سلام دوست عزیز ،
    شما میتوانید با استفاده از دو متد WriteXml و ReadXml هم ساختار و هم داده جدول را در فایل XML ذخیره نمایید ، به این مثال از MSDN توجه کنید :

    private static void DemonstrateReadWriteXMLDocumentWithStream()
    {
    DataTable table = CreateTestTable("XmlDemo");
    PrintValues(table, "Original table");
    // Write the schema and data to XML in a memory stream.
    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
    table.WriteXml(xmlStream, XmlWriteMode.WriteSchema);
    // Rewind the memory stream.
    xmlStream.Position = 0;
    DataTable newTable = new DataTable();
    newTable.ReadXml(xmlStream);
    // Print out values in the table.
    PrintValues(newTable, "New table");
    }
    private static DataTable CreateTestTable(string tableName)
    {
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);
    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);
    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
    row = table.NewRow();
    row["item"] = "item " + i;
    table.Rows.Add(row);
    }
    table.AcceptChanges();
    return table;
    }
    private static void PrintValues(DataTable table, string label)
    {
    // Display the contents of the supplied DataTable:
    Console.WriteLine(label);
    foreach (DataRow row in table.Rows)
    {
    foreach (DataColumn column in table.Columns)
    {
    Console.Write("\t{0}", row[column]);
    }
    Console.WriteLine();
    }
    }


    به طور مثال هنگام کار با وب سرویس ها ، هنگامیکه شما در حال کار با پروتکل HTTP برای انتقال داده هستید ، نوع مورد نظر شما در دات نت حتما" باید اینترفیس ISerializable را Implement نماید و به عبارتی قابل تبدیل به فرمت XML باشد که DataTable این اینترفیس را Implement مینماید و هنگان انتقال ابتدا به فرمت XML درآمده و در اصطلاح Serialize میشود و در سوی دیگر جهت استفاده مجددا" به یک شیء DataTable تبدیل میگردد یا به عبارتی Deserialize میگردد ،
    I've just started tweeting!
    @Alireza_Maddah

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    نقل قول: DataSet و XML

    و اينكه اگه اطلاعات يه DataTable و DataSet تبديل به XML بشه واقعا چه فايده اي براي منه برنامه نويس داره؟
    اصلا چه لزومي داره كه اين اطلاعات به صورت XML فرستاده بشن؟كجا ميتونيم از اين استفاده كنيم؟فرض كنيد كه من اينو از طريق وب براي يه فرد ديگه فرستادم اون فرد چه استفاده اي از اين فايل مي تونه ببره؟

  4. #4

    نقل قول: DataSet و XML

    و اينكه اگه اطلاعات يه DataTable و DataSet تبديل به XML بشه واقعا چه فايده اي براي منه برنامه نويس داره؟
    به شما پیشنهاد میکنم مطالعه ای در زمینه مفهوم Serialization در دات نت داشته باشید ، اما به طور خللاصه :
    بانک های اطلاعاتی که در بسیاری از نرم افزارهای تحت ویندوز/وب مورد استفاده قرار میگیرند ، مبتنی بر XML هستند ، یعنی با این قابلیت شما میتوانید یک نرم افزار بانک اطلاعاتی تهیه نمایید که مبتنی بر XML بوده و نیاری به بانک های اطلاعاتی دیگر منجمله SQL Server در ساختار و پیاده سازی آن نباشد ، فایده ی ذیگر آن که در ادامه توضیح میدهم ارسال اطلاعات از طریق پروتکل Http بر روی اینترنت میباشد ،

    اصلا چه لزومي داره كه اين اطلاعات به صورت XML فرستاده بشن؟كجا ميتونيم از اين استفاده كنيم؟فرض كنيد كه من اينو از طريق وب براي يه فرد ديگه فرستادم اون فرد چه استفاده اي از اين فايل مي تونه ببره؟
    دوست عزیز ، به شما پیشنهاد میکنم در مورد وب سرویس ها و پروتکل Http و چگونگی ارسال داده از طریق این پروتکل مطالعه ای داشته باشید تا کمی موضوع برایتان روشن تر شود ، یه طور مثال اگر با معماری برنامه نویسی چند لایه آشنایی داشته باشید میدانید که ارتباط میان Client و Server عموما" توسط یک وب سرویس صورت میپذیرد ، در وب سرویس نیز شما از پروتکل Http برای انتقال دیتا استفاده میکنید و در نتیجه فرمت XML مورد نیاز میباشد ، به عبارتی این فرمت به شما اجازه میدهد تا مستقل از نوع پلتفرم و زبان با داده ها کار کنید ، کافیست که در سمت کلاینت یک Parser برای خواندن فایل XML مورد نظر وجود داشته باشد که در دات نت اینکار از طریق اعمال Deseialization صورت میپذیرد ،
    در حقیقت هنگامیکه شما داده مورد نظر خود را به فرمت غنی XML تبدیل میکنید ، هر نرم افزار/زبان/پلفتفرمی که قابلیت کار با فایل های XM و Parse کردن آنها را داشته باشد میتواند با فایل XML شما کار کند و همانطور که گفتم فایلهای XML مستقل از زبان و پلفترم هستند ، برای مطالعه بیشتر در مورد فواید XML میتوانید به لینک زیر مراجعه نمایید :
    http://www.exforsys.com/tutorials/xm...dvantages.html
    آخرین ویرایش به وسیله علیرضا مداح : شنبه 22 تیر 1387 در 07:18 صبح دلیل: اضافه نمودن چند نکته
    I've just started tweeting!
    @Alireza_Maddah

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    نقل قول: DataSet و XML

    خوب با تشكر از آقاي مداح بابت راهنمايي خيلي خوبشون من تويه چند تا منبع گشتم و يه سري مقاله رو ترجمه كردم و يه كد هم نوشتم كه چكيده اين مقالات مي باشد اميدوارم استفاده كنيد:
    فایل های ضمیمه فایل های ضمیمه

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    نقل قول: DataSet و XML

    سلام دوباره يه سوال درباره ي XML:
    من وقتي كه يك برنامه ويندوزي نوشتم چه طور مي تونم اطلاعات رو از طريق اينترنت بفرستم.من اطلاعات رو به صورت فايل XML در آورده مثلا فرض كنيد اسم فايلم (Sample.xml) باشه.حالا مي خوام برنامه به اينترنت وصل شده و اطلاعات از طريق اينترنت به يه جاي ديگه انتقال پيدا كنه.اين كار چه طور ممكنه؟
    تويه يكي از مقالات اينترنتي گفته شده كه :
    SOAP اطلاعات مورد نياز خود را از طريق پروتكل HTTP مي فرستد كه آنرا نسبت به بقيه قابل استفاده تر مي سازد.
    اين SOAP چه طور اين كارو انجام ميده؟
    بازم فكر كنم تو مفاهيم مشكل داشته باشم اگه اين مطلب رو يه كم برام واضحتر كنيد ممنون ميشم.
    من Serialization رو تقريبا فهميدم و مي دونم كه چه كاري براي ما انجام ميده اما بعدش چي؟

  7. #7
    کاربر دائمی آواتار molana alavi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مازندران (فعلا تهران)
    پست
    150

    نقل قول: DataSet و XML

    اگه اون جایه دیگه که گفتین برنامه ای هستش که شما نوشتید و می خواید از طریق اینترنت برنامه کامپیوتر شما و کامپیوتر دیگه باهم ارتباط داشته باشند باید از Socket Programing استفاده کنید

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

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