ورود

View Full Version : سوال: تبدیل html به بانک اطلاعاتی



nassim_20
یک شنبه 29 اردیبهشت 1387, 06:15 صبح
دوستان سلام
من یکسری فایل html مربوط به مقالات آموزشی دارم که بصورت لینک است یعنی فهرستی است و زمانیکه روی فهرست کلیک می کنید وارد متن مربوطه می شوید
حال من می خواستم این مقالات رو در بانکی قرار دهم و بصورت نرم افزار درآورم
می خواهم بدانم راه حلی برای تبدیل این فایلهای html به بانک وجود دارد یا خیر بدین ترتیب که قسمت فهرست و مطالب مربوطه هر کدام در یک رکورد ذخیره شوند

hadisalahi2
یک شنبه 29 اردیبهشت 1387, 08:37 صبح
دوست عزیز در صورتی که بخواهید این کار او انجام بدید بهترین راحه حل استفاده از XML به جای HTML است.
در مورد استفاده از XML نیز مقالات و پست های زیادی در این سایت وجود داره ، کافی جستجو کنید.
در غیر این صورت شما بهتره هر مقاله آموزشی تون رو به چند بخش تعریف کنید ، حالا برای کل مقاله آموزشتون یک فیلد ID تعریف کنید . بعد بخشهای هر آموزش نیز دارای چند فیلد به صورت زیر باشه :
1- ID: جهت نگه داری کد
2- Name: جهت نگه داری عنوان مقاله
3- part : برای مشخص کردن اینکه این رکورد ، چندمین قسمت آموزشه
4- Pic : جهت نگه داری عکس
5- description : جهت توضیحات مربوط به قسمت آموزش
البته اینها فیلدهای پیشنهادی بودند ، طریقه استفاده از اونها به برنامه نویس مربوط میشه

nassim_20
یک شنبه 29 اردیبهشت 1387, 09:52 صبح
درسته منتها فایلهای من بصورت html است میشه اونها رو به xml تبدیل کنم؟
روش دیگری سراغ ندارید چون اگر بخوام بصورت دستی این کار رو انجام بدم بعلت کثرت مقالات شاید بیش از یکهفته زمان ببرد که من اصلا چنین فرصتی ندارم

vcldeveloper
دوشنبه 30 اردیبهشت 1387, 00:50 صبح
به چه شکلی در بانک قرار بدید؟ اگر می خواید فایل HTML را به همون صورتی که هست در بانک قرار بدید، کار خاصی نداره، به همون شکلی که عکس و آهنگ و غیره را در بانک ذخیره می کنند، این رو هم میشه ذخیره کرد ( با استفاده از TBlobField که قبلا درباره اش بحث شده).

اگر می خواید متن فایل HTML را در بانک بصورت یک فیلد متنی نگهداری کنید، کافی هست که فایل HTML را بصورت یک فایل Text باز کنید و محتویاتش را در یک فیلد متنی ذخیره کنید.

اگر می خواید محتوای فایل HTML را Parse کنید، یعنی بخش هایی از آن را استخراج کنید (مثلا عنوان مقاله در یک فیلد، چکیده در فیلد دیگه، متن مقاله در فیلد بعدی و...) اون وقت می تونید از یک HTML DOM استفاده کنید که محتوای فایل HTML را بصورت یک ساختار سلسله مراتبی در حافظه در اختیار شما قرار میده و شما با دانستند کلی قالب بندی فایل های HTML مربوطه، می تونید محلی هر یک از اطلاعات فوق را بدست بیارید و آن را از فایل استخراج کنید. برای HTML DOM می تونید از TWebBrowser استفاده کنید، یا در مجموعه Embedded Web یک کامپوننتی بنام IEParser هست که کار کردن باهاش برای این منظور راحتر هست. خود Embedded Web هم مجانی هست و می تونید راحت پیداش کنید.

nassim_20
چهارشنبه 01 خرداد 1387, 10:22 صبح
اگر می خواید محتوای فایل HTML را Parse کنید، یعنی بخش هایی از آن را استخراج کنید (مثلا عنوان مقاله در یک فیلد، چکیده در فیلد دیگه، متن مقاله در فیلد بعدی و...) اون وقت می تونید از یک HTML DOM استفاده کنید که محتوای فایل HTML را بصورت یک ساختار سلسله مراتبی در حافظه در اختیار شما قرار میده و شما با دانستند کلی قالب بندی فایل های HTML مربوطه، می تونید محلی هر یک از اطلاعات فوق را بدست بیارید و آن را از فایل استخراج کنید. برای HTML DOM می تونید از TWebBrowser استفاده کنید، یا در مجموعه Embedded Web یک کامپوننتی بنام IEParser هست که کار کردن باهاش برای این منظور راحتر هست. خود Embedded Web هم مجانی هست و می تونید راحت پیداش کنید

بله دوست عزیز منظور من هم همین است که بخواهم محتویات فایل را Parse کنم مجموعه کامپوننت فوق را گرفتم و نصبش کردم ولی نمی توانم باهاش کار کنم اگر کمی در این رابطه کمکم کنید ممنون می شوم
قبل از آن باید بگویم من می خواهم لینکهایی که در فایل HTML وجود دارد را نیز پیگیری کنم و محتویات فایلی که لینک به آن وجود دارد را نیز برداشت کنم و در بانک بریزم
بعنوان مثال من 5 فایل دارم فایل اول index است که تنها به 4 فایل دیگر لینک داده شده است من این می خواهم فایل index را بدهم و خودش برود و محتویات 4 فایل دیگر را بخواند و در بانک بریزد
البته ممکن است در 4 فایل دیگر نیز لینک فایلهای دیگر وجود داشته باشد که باز باید بدین صورت پیگیری کند
حال با این تفاسیر کامپوننت IEParse می تواند این کار را انجام دهد یا خیر؟
ممنون می شم اگه راهنماییم کنید.

vcldeveloper
پنج شنبه 02 خرداد 1387, 16:01 عصر
اگر به Demoهای همراه Embedded Web نگاه می کردید، می دیدید که یک Demo مخصوص IEParser دارد که چگونگی Parse کردن یک صفحه و استخراج لینک ها و تصاویر موجود در آن را نمایش می دهد.
غیر از این، باید دقت کنید که Embedded Web یا TWebBrowser همگی از کنترل ActiveX مربوط به IE استفاده می کنند، پس مطالعه مستندات مربوط به WebBrowser و IHtmlDocument2 در MSDN میتونه براتون مفید باشه.