PDA

View Full Version : read html an web page



reyhane1389
دوشنبه 12 دی 1390, 15:51 عصر
سلام دوستان من می خوام html یک صفحه را به وسیله صفحه دیگر بخوانم این کار را انجام دادم اما کل صفحه html آن خوانده می شود و من می خواهم فقط html یک جدول رابخوانملطفآ کمکم کنید

به زبان asp :گریه:

saeedgharedaghi
دوشنبه 12 دی 1390, 16:21 عصر
منظورت قسمت body صفحه است؟

hamid_shrk
دوشنبه 12 دی 1390, 17:39 عصر
خوب حالا که تونستید کلش رو بخونید با توابع متنی سی شارپ اون قسمتی رو که میخواید بدست بیارید دیگه.

saeedgharedaghi
دوشنبه 12 دی 1390, 17:50 عصر
هم میتوانید با عبارات با قاعده (regular expression) کار کنید و هم با توابع استاتیک کلاس string.

Regular Expression



string html = @"
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
<head runat='server'>
<title></title>
<link href='~/Styles/Site.css' rel='stylesheet' type='text/css' />
<asp:ContentPlaceHolder ID='HeadContent' runat='server'>
<script>
dassdadasda
</script>
</asp:ContentPlaceHolder>
</head>
<body>
<form runat='server'>
<div class='page'>
<div class='header'>
<div class='title'>
<h1>
My ASP.NET Application
</h1>
</div>
<div class='loginDisplay'>
<asp:LoginView ID='HeadLoginView' runat='server' EnableViewState='false'>
<AnonymousTemplate>
[ <a href='~/Account/Login.aspx' ID='HeadLoginStatus' runat='server'>Log In</a> ]
</AnonymousTemplate>
<LoggedInTemplate>
Welcome <span class='bold'><asp:LoginName ID='HeadLoginName' runat='server' /></span>!
[ <asp:LoginStatus ID='HeadLoginStatus' runat='server' LogoutAction='Redirect' LogoutText='Log Out' LogoutPageUrl='~/'/> ]
</LoggedInTemplate>
</asp:LoginView>
</div>
<div class='clear hideSkiplink'>
<asp:Menu ID='NavigationMenu' runat='server' CssClass='menu' EnableViewState='false' IncludeStyleBlock='false' Orientation='Horizontal'>
<Items>
<asp:MenuItem NavigateUrl='~/Default.aspx' Text='Home'/>
<asp:MenuItem NavigateUrl='~/About.aspx' Text='About'/>
</Items>
</asp:Menu>
</div>
</div>
<div class='main'>
<asp:ContentPlaceHolder ID='MainContent' runat='server'/>
</div>
<div class='clear'>
</div>
</div>
<div class='footer'>

</div>
</form>
</body>
</html>
";
string pattern = @"<body\b[^>]*>(.*?)</body>";
Regex r = new Regex(pattern,RegexOptions.Singleline);
MatchCollection c = r.Matches(html);
string result=string.Empty;
foreach (Match m in c)
{
result += m.ToString();
}
Response.Write(result);





اینم کار با توابعstatic کلاس string





string html = @"
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
<head runat='server'>
<title></title>
<link href='~/Styles/Site.css' rel='stylesheet' type='text/css' />
<asp:ContentPlaceHolder ID='HeadContent' runat='server'>
<script>
dassdadasda
</script>
</asp:ContentPlaceHolder>
</head>
<body>
<form runat='server'>
<div class='page'>
<div class='header'>
<div class='title'>
<h1>
My ASP.NET Application
</h1>
</div>
<div class='loginDisplay'>
<asp:LoginView ID='HeadLoginView' runat='server' EnableViewState='false'>
<AnonymousTemplate>
[ <a href='~/Account/Login.aspx' ID='HeadLoginStatus' runat='server'>Log In</a> ]
</AnonymousTemplate>
<LoggedInTemplate>
Welcome <span class='bold'><asp:LoginName ID='HeadLoginName' runat='server' /></span>!
[ <asp:LoginStatus ID='HeadLoginStatus' runat='server' LogoutAction='Redirect' LogoutText='Log Out' LogoutPageUrl='~/'/> ]
</LoggedInTemplate>
</asp:LoginView>
</div>
<div class='clear hideSkiplink'>
<asp:Menu ID='NavigationMenu' runat='server' CssClass='menu' EnableViewState='false' IncludeStyleBlock='false' Orientation='Horizontal'>
<Items>
<asp:MenuItem NavigateUrl='~/Default.aspx' Text='Home'/>
<asp:MenuItem NavigateUrl='~/About.aspx' Text='About'/>
</Items>
</asp:Menu>
</div>
</div>
<div class='main'>
<asp:ContentPlaceHolder ID='MainContent' runat='server'/>
</div>
<div class='clear'>
</div>
</div>
<div class='footer'>

</div>
</form>
</body>
</html>
";
int start = html.IndexOf("<body");
int end=html.IndexOf("</body>")+7;
html = html.Substring(start, end - start);
Response.Write(html);

mahmood_4246
دوشنبه 12 دی 1390, 17:54 عصر
برادر با jquery این کار رو انجام بده .. یعنی id جایی که میخوایی رو با کدهای جی کوئری بردارش
یا از ifram استفاده کن

reyhane1389
جمعه 16 دی 1390, 10:55 صبح
خوب حالا که تونستید کلش رو بخونید با توابع متنی سی شارپ اون قسمتی رو که میخواید بدست بیارید دیگه.

قربونت توابع متنی را از کجا بیارم

hamid_shrk
شنبه 17 دی 1390, 09:24 صبح
به پست 4 مراجعه کنید دوستمون توضیح دادن کامل