vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
WebBrowser GetAttribute Schleife 
Autor: Xcabur
Datum: 03.12.14 11:49

Hallo zusammen

Ich bräuchte wieder einmal etwas Hilfe...

Ich wollte mittels WebBrowser Control eine HTMl-Datei laden, aus dieser dann ein bestimmter <div>-Block auslesen und im WebBrowser Control anzeigen. Da sich der gewünschte DIV-Block nicht immer an der gleichen Position in der HTML-Datei befindet, wollte ich das ganze mittels einer Schleife etwas dynamisch gestalten. Aber irgendwie funktioniert der Vergleich mittels GetAttribute nicht.

HTML-Datei:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Test Content</title>
	</head>
	<body>
		<div class="NoContent">
			I don't need this content
		</div>
 
		<div class="NoContent">
			I don't need this content
 
			<div class="Content">
				I need this content!
			</div>
 
			<div class="NoContent">
				I don't need this content
			</div>
 
		</div>
 
	</body>
</html>
Programm:
Public Class frmMain
 
    Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
 
    End Sub
 
    Private Sub cmdLoadSite_Click(sender As System.Object, e As _
      System.EventArgs) Handles cmdLoadSite.Click
        webBrowser.DocumentText = Nothing
        webBrowser.Navigate("c:\Temp\test.html")
    End Sub
 
    Private Sub cmdShowContent_Click(sender As System.Object, e As _
      System.EventArgs) Handles cmdShowContent.Click
 
        Dim tags = webBrowser.Document.Body.Children
        'Dim tags = webBrowser.Document.GetElementsByTagName("div")
 
        Dim content As String = ""
 
        CrawlHTMLContent(tags, content)
 
        If content <> "" Then
            webBrowser.Document.Body.InnerHtml = content
        Else
            webBrowser.DocumentText = "No items found"
        End If
 
    End Sub
 
    Private Sub CrawlHTMLContent(tags As HtmlElementCollection, content As _
      String)
 
        If content = "" Then
 
            For Each tag As HtmlElement In tags
 
                Console.WriteLine(tag.OuterHtml)
                Console.WriteLine("Attribute: " + tag.GetAttribute("class"))
 
                If tag.GetAttribute("class") = "Content" Then
                    content = tag.InnerHtml
                    Console.WriteLine("--> Found content:" + content)
                End If
 
                If tag.Children.Count > 0 Then CrawlHTMLContent( _
                  tag.Children, content)
 
            Next
        End If
    End Sub
 
End Class
Ausgabe:
<DIV class=NoContent>I don't need this content </DIV>
Attribute: 
 
<DIV class=NoContent>I don't need this content 
<DIV class=Content>I need this content! </DIV>
<DIV class=NoContent>I don't need this content </DIV></DIV>
Attribute: 
 
<DIV class=Content>I need this content! </DIV>
Attribute: 
 
<DIV class=NoContent>I don't need this content </DIV>
Attribute:
Wäre toll, wenn jemand helfen könnte.

Beitrag wurde zuletzt am 03.12.14 um 11:50:25 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
WebBrowser GetAttribute Schleife1.300Xcabur03.12.14 11:49

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel