مشاهده نسخه کامل
: گرفتن Xml در یک سایت (rss) و ذخیره در دیتابیس
دوستان کسی اطلاعاتی در این زمینه داره
وقتی یه سایت خبری مثلا [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] برید, همون طور که می بینید وارد یه ساختار XML میشوید(البته تو سورس اون صفحه این ساختار دیده می شه) که تو این صفحه بابت هر خبری یه لینک هست فعلا می خوام عنوان خبر به همراه لینک خبر در دیتابیس ذخیره کنم
سلام
شما باید از System.Xml.XmlReader استفاده کنید
(کلاسهای دیگری هم وجود دارد، ولی کلاس فوق پایه ای ترین و سریعترین کد runtime را دارد.)
مثلاً کد الکی و ساده زیر را فقط به عنوان نمونه ببینید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید.
مثلاً کد الکی و ساده زیر را فقط به عنوان نمونه ببینید:
ممنون دوست عزیز از کد تون :11: چرا الکی خیلی هم عالی بود
حالا می خواستم برای خواندن صفحه xml یه ProgressBar بزارم که مراحل خوندن رو نشون بده
ممنون از کمک تون
سلام
حالا می خواستم برای خواندن صفحه xml یه ProgressBar بزارم که مراحل خوندن رو نشون بده
عمل خواندن xml را اگر درست انجام دهید، بسیار سریع انجام میشود و استفاده از میله پیشرفت در ن اصلاً منطقی نیست.
تنها چیزی که کد فوق را کند خواهد کرد، برقراریارتباط و دانلود فایل مربوطه است.
اگر میله پیشرفتی بخواهید قرار دهید، باید برای دانلود قرارش دهید.
میتوانید دستی و با کمک System.Net.WebRequest (و سپس متد GetResponse) اقدام به دانلود فایل از سرور به داخل RAM کنید.
و برای این دانلود سفارشی ProgressBar تعبیه کنید.
اگر دیتا دانلود شود و در ram خودتان باشد، کد خواندن xml در کسری از ثانیه اجرا خواهد شد.
موفق باشید.
چون همزمان من دارم هر لینک یا عنوان خبری که پیدا میشه توسط کد شما رو در بانک insert می کنم و در دیتا گرید ویو هم می بینم. شاید برای وارد کردن در دیتابیس یا دیتا گرید باید progressbar بزارم.
نظر شما چیه
سلام
تغذیه progressbar هموراه شامل دانستین حجم و تعداد نهایی کار است، یک عدد مشخص کننده محدوده max ...
اگر عدد max ای نباشد باید به نشان دادن یک انیمیشن اکتفا کرد !
با چیزی که شما میگویید دو بار عدد max ای به دست خواهید اورد که تغذیه کننده محدوده بالایی نوار پیشرفت باشد.
- اول، در زمان دانلود که میتوانید حجم دانلود نهایی را به دست اورید و بدانید که دانلود بعد از چه تعدادی تمام میشود و با هر بلوک دانلود progressbar را آپدیت کنید.
- دوم، زمان پایان پردازش xml ...
(--- خواندن کامل xml و بعد ذخیره در دیتابیس )
که تمام لینک ها را در یک list ریخته اید و حالا میدانید چه تعداد لینک دارید که باید در بانک ثبت شود و با هر ثبت در دیتابیس progressbar را آپدیت کنید.
(--- خواندن هر لینک xml و ذخیره همزمان در دیتابیس)
که میتوانید باز هم از حجم فایل استفاده کنید و با دانستن انکه خوانندن xml تا چه آفستی از فایل پیش رفته، و چه قدر تا پایان فایل مانده، با هر یافتن link و ذخیره در دیتابی progressbar را اپدیت کنید.
پس در هر صورت دو پردازش و دو max دارید...
یا میتوانید progressbar را بین این دو پردازش تقسیم کنید .. 50-50 یا 70-30 و حتی 80-20
یا میتوانید دو بار پر شدن progressbar را نمایش دهید، یکبار برای دانلود و یکبار برای پردازش.
چیز خاص و عجیب و سختی ندارد، خودتان همیشه با کمی فکر منطقی میتوانید الگویی مناسب برای تغذیه progressbar پیدا کنید.
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.