چطوری می شه در C# یک فایل Xml رو بخونی یا توی یک فایل Xml بنویسی ؟
می شه یکم درباره Xml توضیح بدید طرز استفاده شو می گما !
یه مثال کوچولو هم بزارید دیگه ممنون می شم پر کردن یک فیلد با استفاده از اطلاعات یک فایل XMl
Printable View
چطوری می شه در 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
و...
موفق باشید.
این کلاس Xml.Serializer می شه در مورد این هم آموزش بدید
در ضمن من Xml رو واسه برنامه های تحت نت نمی خوام
واسه تبادل اطلاعات بین برنامه ها
و چطوری می شه بین داده ها سرچ کرد ؟
در ضمن توی کتابخونه Xml اصلا اون دو تا کلاس رو نداره
سلام
این هم یک کلاس بسیار مفید است.نقل قول:
این کلاس Xml.Serializer می شه در مورد این هم آموزش بدید
کلاس System.Xml.Serialization.XmlSerializer میتواند یک type مشخص را با فرمت xml سریالی و دی سریالی کند (بخواند یا بنویسد.)
مثلاً:
این ابزار هم محدودیتهای خاص خودش را دارد ولی میتواند کدنویسی تولید و خواندن xml را بسیار ساده کند.کد:System.Drawing.Rectangle value = new System.Drawing.Rectangle(1,2,3,4);
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(value.GetType());
using(System.IO.Stream file = new System.IO.FileStream("C:\\file.xml", System.IO.FileMode.OpenOrCreate))
{
serializer.Serialize(file, value);
}
بحرحال یک سمت این انتقال شما دات نت و C#.Net است ؟؟؟نقل قول:
در ضمن من Xml رو واسه برنامه های تحت نت نمی خوام
واسه تبادل اطلاعات بین برنامه ها
اگر کلاً خبری از دات نت نباشد که پس بحث یرامون کلاسهای دات نت برای اینکار بیثمر خواهد بود.
فرمایشاتی میفرمائید!!!نقل قول:
در ضمن توی کتابخونه Xml اصلا اون دو تا کلاس رو نداره
لینک msdn را هم خدمتتان دادم، این دو کلاس زیربنایی ترین کلاسهای خواندن/نوشتن xml هستند و عموماً بقیه کلاسها خودشان از اینها استفاده میکنند.
یعنی وقتی دستور زیر را مینوسید خطای سینتکسی دریافت میکنید ؟؟؟؟
اگر چنین است (که بسیار بعید است) پروژه شما کلاً مرجع System.Xml را ندارد...کد:System.Xml.XmlReader basereader;
System.Xml.XmlWriter basewriter;
System.Xml.XmlTextReader reader;
System.Xml.XmlTextWriter writer;
Project->Add Reference->System.Xml
لطفاً دقت بیشتری کنید.
=====
موفق باشید.
خیلی ممنون مشکلم حل شده
سلام به همه دوستان یه سوال از خدمتون داشتم
من می خوام از فایل xml به عنوان دیتا بیس استفاده کنم و اطلاعات تعدادی تکس باکس رو در یه فایل xml ذخیره و اعمال متداول مثل حذف و آپدیت و جستجو و اضافه کردن رو روی داده های این فایل انجام بدم.
ممنون می شم کمکم کنید
اگر سمپل هم داشتید که عالی میشه
سلام
اگر میخواهید از xml به عنوان یک دیتابیس کامل استفاده کنید و در برنامه تان هم مشکلات کمی داشته باشید، ساده ترین راه استفاده از DataSet است.
یک TypedDataSet به برنامه اضافه کنید و هر تعداد جدول و فیلد که میخواهیبد در آن بسازید
(راست کلیک و add table)
بعد با فرمانی مثل این میتوانید دیتاست را در xml ذخیره کنید.
و با دستوری مثل این دیتاست را بارگذاری کنید:کد:dataset1.WriteXml("C:\\file.xml");
میدانید که خود کلاس DataSet متدهایی برای جستجو و محاسبه دارد، در ضمن میتوانید از پرسو جوهای LINQ هم رو دیتاست استفاده کنید و در نهایت به سادگی میتوانید dataset را برای نمایش خوراک یک grid یا combobox و... کنید.کد:DataSet1 ds = new DataSet1();
ds.ReadXml("C:\\file.xml");
بیا
کد:http://www.2shared.com/fadmin/6444046/16a3e054/Xml_Test.rar.html
ممنون دوست عزیز ولی همچین برنامه ای رو قبل دان کردم
هر بار فقط مقادیر رو یک بار در فایل ذخیره می کنه ولی من می خوام هربار که مقدار جدیدی وارد میشه
در ادامه داده های قبلی ذخیره بشه
کسی دیگه اطلاعاتی در این ضمینه نداره
ممنون میشم