مشاهده نسخه کامل
: C# و XMl
mohsen_3
17-06-2009, 12:09
چطوری می شه در C# یک فایل Xml رو بخونی یا توی یک فایل Xml بنویسی ؟
می شه یکم درباره Xml توضیح بدید طرز استفاده شو می گما !
یه مثال کوچولو هم بزارید دیگه ممنون می شم پر کردن یک فیلد با استفاده از اطلاعات یک فایل XMl
سلام
برای کار با xml میتوانید از فضای نامی System.Xml و کلاسهایش استفاده کنید...
دو کلاس اصلی و پایه ترین کلاسهای عملی و غیر abstract تولید و خوانن xml اینها هستند:
msdn.microsoft.com/en-us/library/system.xml.xmltextwriter.aspx
msdn.microsoft.com/en-us/library/system.xml.xmltextreader.aspx
نمونه ای از کد نوشتن xml در 2005 و 2003 (خواندن هم خیلی شبیه همین است)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
البته در نسخه 2008 و تحت Framework3.5 امکان یکپارچه گی بین xml و کدنویسی و تولید و خواندن بسیار ساده تر xml وجود دارد...
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
msdn.microsoft.com/en-us/library/bb384833.aspx
msdn.microsoft.com/en-us/library/bb384460.aspx
msdn.microsoft.com/en-us/library/bb531325.aspx
و...
موفق باشید.
mohsen_3
17-06-2009, 17:44
این کلاس Xml.Serializer می شه در مورد این هم آموزش بدید
در ضمن من Xml رو واسه برنامه های تحت نت نمی خوام
واسه تبادل اطلاعات بین برنامه ها
و چطوری می شه بین داده ها سرچ کرد ؟
در ضمن توی کتابخونه Xml اصلا اون دو تا کلاس رو نداره
سلام
این کلاس Xml.Serializer می شه در مورد این هم آموزش بدید
این هم یک کلاس بسیار مفید است.
کلاس System.Xml.Serialization.XmlSerializer میتواند یک type مشخص را با فرمت xml سریالی و دی سریالی کند (بخواند یا بنویسد.)
مثلاً:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این ابزار هم محدودیتهای خاص خودش را دارد ولی میتواند کدنویسی تولید و خواندن xml را بسیار ساده کند.
در ضمن من Xml رو واسه برنامه های تحت نت نمی خوام
واسه تبادل اطلاعات بین برنامه ها
بحرحال یک سمت این انتقال شما دات نت و C#.Net است ؟؟؟
اگر کلاً خبری از دات نت نباشد که پس بحث یرامون کلاسهای دات نت برای اینکار بیثمر خواهد بود.
در ضمن توی کتابخونه Xml اصلا اون دو تا کلاس رو نداره
فرمایشاتی میفرمائید!!!
لینک msdn را هم خدمتتان دادم، این دو کلاس زیربنایی ترین کلاسهای خواندن/نوشتن xml هستند و عموماً بقیه کلاسها خودشان از اینها استفاده میکنند.
یعنی وقتی دستور زیر را مینوسید خطای سینتکسی دریافت میکنید ؟؟؟؟
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر چنین است (که بسیار بعید است) پروژه شما کلاً مرجع System.Xml را ندارد...
Project->Add Reference->System.Xml
لطفاً دقت بیشتری کنید.
=====
موفق باشید.
mohsen_3
20-06-2009, 18:26
خیلی ممنون مشکلم حل شده
سلام به همه دوستان یه سوال از خدمتون داشتم
من می خوام از فایل xml به عنوان دیتا بیس استفاده کنم و اطلاعات تعدادی تکس باکس رو در یه فایل xml ذخیره و اعمال متداول مثل حذف و آپدیت و جستجو و اضافه کردن رو روی داده های این فایل انجام بدم.
ممنون می شم کمکم کنید
اگر سمپل هم داشتید که عالی میشه
سلام
اگر میخواهید از xml به عنوان یک دیتابیس کامل استفاده کنید و در برنامه تان هم مشکلات کمی داشته باشید، ساده ترین راه استفاده از DataSet است.
یک TypedDataSet به برنامه اضافه کنید و هر تعداد جدول و فیلد که میخواهیبد در آن بسازید
(راست کلیک و add table)
بعد با فرمانی مثل این میتوانید دیتاست را در xml ذخیره کنید.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و با دستوری مثل این دیتاست را بارگذاری کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
میدانید که خود کلاس DataSet متدهایی برای جستجو و محاسبه دارد، در ضمن میتوانید از پرسو جوهای LINQ هم رو دیتاست استفاده کنید و در نهایت به سادگی میتوانید dataset را برای نمایش خوراک یک grid یا combobox و... کنید.
mohsen_3
25-06-2009, 11:08
بیا
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ممنون دوست عزیز ولی همچین برنامه ای رو قبل دان کردم
هر بار فقط مقادیر رو یک بار در فایل ذخیره می کنه ولی من می خوام هربار که مقدار جدیدی وارد میشه
در ادامه داده های قبلی ذخیره بشه
کسی دیگه اطلاعاتی در این ضمینه نداره
ممنون میشم
سلام
خوب با آن شیوه TypedDataSet چه مشکلی دارید؟
گمانم شاید با سرچش مشکل داشته باشید؟
اگر چنین است این هم نمونه کد سرچ:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام مهندس ممنون ما که همیشه مزاحم هستیم
توی نمونه برنامه قبلی اگر یه داده جدید رو وارد کنیم اگر قبلا توی فایل یه داده ذخیره کرده باشیم در ادامه اش اضافه نمی کنه یعنی مثل بانک اطلاعاتی باید یه رکورد جدید در ادامه قبلی ایجاد کنه
عیب از منه که نمی تونم درست سوال بپرسم
خلاصه شرمنده
یا علی
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.