PDA

View Full Version : جداسازی عبارات داخل تگ های HTML



ghazalak_m
پنج شنبه 19 فروردین 1395, 08:25 صبح
با سلام خدمت دوستان
سوال: قطعه کدی که بتونه عبارات داخل تگ های HTML رو جدا کنه و بهم فقط عبارات رو برگردنه...
من برای تگ Title از قطعه کد زیر استفاده کردم و جواب داد :

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim mystr() As String = Split(RichTextBox1.Text, "<title>")
For Each Item As String In mystr
If Item.Length > 0 Then
RichTextBox2.Text = (Trim(Item.Split("</title>")(0)))
End If
Next
End Sub

ولی برای تگ های < h1> ,<a> , ... نتونستم با این کد جواب بگیرم
سوال من اینه مثلا بتونه از رشته زیر فقط Home رو به من برگردونه
<h1 class="home">
<a href="http://keck.usc.edu/">Home</a></h1>

شاید دلیلش اینه که تگ Title تو یه خط تکرار شده ولی بقیه تگ ها n بار تکرار شدند
متاسفانه چندین ساله برنامه نویسی کار نکردم همه چیز از یادم رفته ممنون میشم اگه کمکم کنید
کد HTML نمونه ضمیمه شد
اساتید لطفا راهنمایی کنند با تشکر

Hamed-Beckham
سه شنبه 24 فروردین 1395, 13:55 عصر
با سلام .
شاید به دردتون بخوره :

Dim PageElement As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
For Each CurElement As HtmlElement In PageElement
If (CurElement.GetAttribute("href") = "http://keck.usc.edu/") Then
TextBox.Text = CurElement.InnerText
End If
Next

ghazalak_m
جمعه 27 فروردین 1395, 00:56 صبح
ممنونم ازتون با نمونه کدی که برام فرستادید شاه کلید مسئله رو بهم نشون دادید...
ممنونم دوست عزیز :تشویق:

ghazalak_m
جمعه 27 فروردین 1395, 01:03 صبح
دوستانی که مثل من همچین مشکلی داشتند اینم جوابش:

Dim ctrl As HtmlElement
Dim ctrl_collect As HtmlElementCollection

ctrl_collect = Me.WebBrowser1.Document.GetElementsByTagName("a")

For Each ctrl In ctrl_collect

Me.ListBox1.Items.Add(ctrl.GetAttribute("InnerText"))

Next
در واقع با کد بالا میتونید کلیه عبارات تگ های a تو یک صفحه html رو تو لیست باکس نمایش بدید

با کد زیر هم میتونید عبارات و نوشته های تگ های img رو نمایش بدید:


Dim ctrl As HtmlElement

Dim ctrl_collect As HtmlElementCollection

ctrl_collect = Me.WebBrowser1.Document.GetElementsByTagName("img")

For Each ctrl In ctrl_collect

Me.ListBox1.Items.Add(ctrl.GetAttribute("alt"))

Next

دوستان همگی موفق و موید باشید