PDA

نسخه کامل مشاهده نسخه کامل : C# و XMl



mohsen_3
17-06-2009, 12:09
چطوری می شه در C# یک فایل Xml رو بخونی یا توی یک فایل Xml بنویسی ؟
می شه یکم درباره Xml توضیح بدید طرز استفاده شو می گما !
یه مثال کوچولو هم بزارید دیگه ممنون می شم پر کردن یک فیلد با استفاده از اطلاعات یک فایل XMl

_H2_
17-06-2009, 15:20
سلام
برای کار با 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 اصلا اون دو تا کلاس رو نداره

_H2_
20-06-2009, 13:55
سلام

این کلاس 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
خیلی ممنون مشکلم حل شده

CHAPTER
24-06-2009, 22:10
سلام به همه دوستان یه سوال از خدمتون داشتم
من می خوام از فایل xml به عنوان دیتا بیس استفاده کنم و اطلاعات تعدادی تکس باکس رو در یه فایل xml ذخیره و اعمال متداول مثل حذف و آپدیت و جستجو و اضافه کردن رو روی داده های این فایل انجام بدم.
ممنون می شم کمکم کنید
اگر سمپل هم داشتید که عالی میشه

_H2_
25-06-2009, 11:02
سلام
اگر میخواهید از xml به عنوان یک دیتابیس کامل استفاده کنید و در برنامه تان هم مشکلات کمی داشته باشید، ساده ترین راه استفاده از DataSet است.

یک TypedDataSet به برنامه اضافه کنید و هر تعداد جدول و فیلد که میخواهیبد در آن بسازید
(راست کلیک و add table)

بعد با فرمانی مثل این میتوانید دیتاست را در xml ذخیره کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و با دستوری مثل این دیتاست را بارگذاری کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

میدانید که خود کلاس DataSet متدهایی برای جستجو و محاسبه دارد، در ضمن میتوانید از پرسو جوهای LINQ هم رو دیتاست استفاده کنید و در نهایت به سادگی میتوانید dataset را برای نمایش خوراک یک grid یا combobox و... کنید.

mohsen_3
25-06-2009, 11:08
بیا


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

CHAPTER
25-06-2009, 13:12
ممنون دوست عزیز ولی همچین برنامه ای رو قبل دان کردم
هر بار فقط مقادیر رو یک بار در فایل ذخیره می کنه ولی من می خوام هربار که مقدار جدیدی وارد میشه
در ادامه داده های قبلی ذخیره بشه

CHAPTER
28-06-2009, 17:09
کسی دیگه اطلاعاتی در این ضمینه نداره
ممنون میشم

_H2_
29-06-2009, 20:41
سلام
خوب با آن شیوه TypedDataSet چه مشکلی دارید؟
گمانم شاید با سرچش مشکل داشته باشید؟
اگر چنین است این هم نمونه کد سرچ:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

CHAPTER
29-06-2009, 21:47
سلام مهندس ممنون ما که همیشه مزاحم هستیم
توی نمونه برنامه قبلی اگر یه داده جدید رو وارد کنیم اگر قبلا توی فایل یه داده ذخیره کرده باشیم در ادامه اش اضافه نمی کنه یعنی مثل بانک اطلاعاتی باید یه رکورد جدید در ادامه قبلی ایجاد کنه
عیب از منه که نمی تونم درست سوال بپرسم
خلاصه شرمنده
یا علی