( تعداد نمایش : 1391 )

Export کردن اطلاعات به XML

خیلی اوقات در برنامه نویسی اینترنت و همچنین در برنامه های بزرگ نیاز دارید که قابلیت Export کردن یک Dataset را به XML به کاربرانتان بدهید.
در این مقاله می توانید شیوه های مختلفی برای حل این مساله بیابید. البته شاید هم اکنون حس کنید که اصولا نیاز به همچنین مساله ای در پروژه های ایرانی محسوس نیست. نگارنده این مقاله تقریبا با شما هم عقیده است ولی قطعا روزی خواهد رسید که این نیاز به خوبی خود را نشان بدهد. به علاوه اگر شما قصد دارید برنامه نویسی اینترنت بکنید حتما باید اطلاعات خود را راجع به XML و دلفی گسترش دهید. همچنین اگر قصد دارید پروژه های شبکه بسیار بزرگ برای سازمان های بزرگ بنویسید مطمئن باشید XML می تواند در قسمتی از کارهایتان شما را یاری بدهد.
Export کردن یک Table به XML از طریق ADO
انجام دادن این کار از طریق ADO به راحتی استفاده از متد SaveToFile است.
به کد زیر نگاهی بیاندازید:

     

ADOTable1.SaveToFile('C:\test.xml', pfXML);

همچنین با استفاده از کد زیر می توانید فایل XML مربوطه را Load کنید:

     

ADOTable1.LoadFromFile('C:\test.xml');

البته به جای pfXML می توانید از pfADTG می توانید استفاده کنید که در این صورت اطلاعات در یک فایل به صورت Binary نوشته می شود که به موضوع مبحث ما ربطی ندارد.
Export کردن یک Table به XML با استفاده از ClientDataSet
برای انجام این عمل با استفاده از ClientDataSet از مراحل زیر استفاده کنید:
۱- یک کمپوننت TDataSetProvider (این کمپوننت در تب DataAccess قرار دارد) بر روی فرم خود بگذارید و با استفاده از پراپرتی DataSet آن را به Table یا Query و یا به طور کلی به Dataset مورد نیاز خود متصل کنید.
۲- یک کمپوننت TClientDataSet (این کمپوننت هم در تب DataAccess قرار دارد) بر روی فرم خود بگذارید و مقدار ProviderName آن را برابر نام کمپوننت TDataSetProviderی قرار دهید که در مرحله ۲ ساختید.
۳- به سادگی از متد زیر استفاده کنید:

   

ClientDataSet1.Active := True;
   ClientDataSet1.SaveToFile('C:\1.XML', dfXML);

پارامتر دوم متد SaveToFile می توانید شامل مقادیر زیر باشد: dfBinary, dfXML, dfXMLUTF8.
بررسی راجع به dfBinary به مبحث مقاله ما مربوط نمی شود.
حتما متوجه شده اید که تفاوت dfXML و dfXMLUTF8 چیست؟ dfXMLUTF8 برای Export اطلاعات به XML با فرمت Unicode استفاده می شود.
البته راههای دیگری هم وجود دارد که در نسخه های قدیمی تر دلفی به کار می آیند.
به عنوان مثال به این مقاله نگاه کنید:

http://www.scalabium.com/faq/dct0079.htm

این مقاله یک Procedure ارائه کرده است که به خوبی عمل می نماید و در صورتی که شما از نسخه های قدیمی تر دلفی استفاده می کنید یا از نسخه Professional دلفی استفاده می کنید که ClientDataSet در آن موجود نیست می توانید از این مقاله استفاده کنید. (البته به احتمال زیاد در ایران اکثر برنامه نویسان دلفی از دلفی ۶ یا ۷ و نسخه Enterprise استفاده می کنند و دیگر از این نظری مشکلی نخواهند داشت)

موفق و موید و منصور باشید
معموری

دیدگاه خود را بیان کنید.

باید وارد سایت شده باشید برای دیدگاه دادن