PDA

View Full Version : اجرا کردن فایل فایل های Html در C#



c-sharp_South
سه شنبه 21 خرداد 1392, 10:00 صبح
سلام و درود.
میخواستم بپرسم چطوری میشه توی C# چند فایل Html وارد کرد که خونده بشن؟
این فایل ها در خود برنامه باید Match شده باشن و نباید کنار فایل exe قرار گرفته باشن.
فرض کنید شما یک کتاب دارید که تمام صفحات اون Html هستن.الان شما میخواهید این صفحات
رو به برنامه C# بدید که بخونه و کاربر بتونه استفاده کنه . ولی کاربر به فایل اصلی Html دسترسی
نداشته باشه و فقط بتونه از توی خود برنامه exe شده کتاب رو مطالعه کنه.

13601360
سه شنبه 21 خرداد 1392, 10:56 صبح
این مثال رو ببینید

WebBrowser w = new WebBrowser();
w.Navigate(String.Empty);
HtmlDocument doc = w.Document;
doc.Write("<html><head></head><body><img id=\"myImage\" src=\"c:\"/><a id=\"myLink\" href=\"myUrl\"/></body></html>");
Console.WriteLine(doc.Body.Children.Count);
Console.WriteLine(doc.GetElementById("myImage").GetAttribute("src"));
Console.WriteLine(doc.GetElementById("myLink").GetAttribute("href"));

منبع
http://stackoverflow.com/questions/9473514/does-net-framework-offer-methods-to-parse-an-html-string

xvahid
سه شنبه 21 خرداد 1392, 11:32 صبح
این مثال رو ببینید

WebBrowser w = new WebBrowser();
w.Navigate(String.Empty);
HtmlDocument doc = w.Document;
doc.Write("<html><head></head><body><img id=\"myImage\" src=\"c:\"/><a id=\"myLink\" href=\"myUrl\"/></body></html>");
Console.WriteLine(doc.Body.Children.Count);
Console.WriteLine(doc.GetElementById("myImage").GetAttribute("src"));
Console.WriteLine(doc.GetElementById("myLink").GetAttribute("href"));

منبع
http://stackoverflow.com/questions/9473514/does-net-framework-offer-methods-to-parse-an-html-string


این مثال مربوط به زمانیه که بخواید بصورت Dynamic فایل HTML رو درست کنین و بعد به Client بفرستین. اینطور که من از سوال این دوستمون متوجه شدم صفحات ایشون از قبل بصورت Static موجوده و مشکل ایشون مخفی نگه داشتن صفحات است. راه حل من اینه که با استفاده از ابزارهای مجانی موجود فایلهای HTML تون رو به CHM تبدیل کنین و فایل CHM رو به فایل EXE خودتون Embed کنین. کار بسیار راحتیه. اگه مشکلی داشتین همینجا مطرح کنین.

c-sharp_South
سه شنبه 21 خرداد 1392, 11:35 صبح
این مثال مربوط به زمانیه که بخواید بصورت Dynamic فایل HTML رو درست کنین و بعد به Client بفرستین. اینطور که من از سوال این دوستمون متوجه شدم صفحات ایشون از قبل بصورت Static موجوده و مشکل ایشون مخفی نگه داشتن صفحات است. راه حل من اینه که با استفاده از ابزارهای مجانی موجود فایلهای HTML تون رو به CHM تبدیل کنین و فایل CHM رو به فایل EXE خودتون Embed کنین. کار بسیار راحتیه. اگه مشکلی داشتین همینجا مطرح کنین.

ممنون بخاطر پاسخ هاتون.
میشه در مورد این راه کاری که گفتین بیشتر توضیح بدید؟
با این روش اصلا آشنایی ندارم.

xvahid
سه شنبه 21 خرداد 1392, 11:55 صبح
CHM مخفف Microsoft Compiled HTML Help ه. یک فایل Read Only ه که از صفحات HTML تشکیل شده. نرم افزار تبدیلش هم چیز خاص و عجیبی نیست (من خودم نوشتم قبلاً). فقط بصورت اتوماتیک تگ های HTML رو میخونه و ایندکس میکنه و یک فایل خروجی بیرون میده. این فایل خروجی رو شما میتونی به پروژه دات نت خودت اضافه کنی (Add Existing Item) و به همراه خروجی پروژه Deploy کنی. اگر که نمیخوای این فایل رو هم Client روی هارد خودش داشته باشه میتونی Build Action این فایل رو Embedded Resouce تنظیم کنی که درون فایل Exe قرار بگیره. مشکلی بود بگو تا بیشتر توضیح بدم.