2016-04-24 6 views

Antwort

0

Sie könnten entweder 1) Verwenden Sie die Methoden eingebaute in der WebBrowser durch alle <h1> Tags zu durchlaufen oder die ersten ein oder 2) Verwenden Sie ein Regex erhalten.

Mit Hilfe der integrierten Methoden

Iterieren obwohl alle Tags ist einfach, man muss nur die HtmlDocument.GetElementsByTagName() Methode verwenden.

Erste der erste Tag gefunden (in chronologischer Reihenfolge):

Dim h1Text As String = WebBrowser1.Document.GetElementsByTagName("h1")(0).InnerText 

Iterieren durch alle tags:

Dim h1Strings As New List(Of String) 

For Each h1Tag As HtmlElement In WebBrowser1.Document.GetElementsByTagName("h1") 
    h1Strings.Add(h1Tag.InnerText) 
Next 

eine Regex

Mit einem Regex ist nicht, dass schwer, wenn du weißt, was du tust. So starten Sie mit Put diese Imports Aussage über die ganz oben auf der Code-Datei:

Imports System.Text.RegularExpressions 

Jetzt müssen Sie nur noch den WebBrowser des DocumentText für den <h1> Tag suchen.

Dim h1Text As String = Regex.Match(WebBrowser1.DocumentText, "(?<=<h1[^<>\/]*>)((?!<\/h1>).)*(?=<\/h1>)", RegexOptions.IgnoreCase).Value 

Das RegexMuster erklärt:

(?<=<h1[^<>\/]*>)((?!<\/h1>).)*(?=<\/h1>)

(?<= ...): Der angepasste Text mit vorausgegangen sein muss, was auch immer ... ist.

<h1[^<>\/]*>: Passen Sie das Öffnungs-Tag <h1> mit beliebigen Attributen.

[^<>\/]*: Übereinstimmen Sie alle Zeichen, die nicht <, > oder / sind.

((?!<\/h1>).)*: Übereinstimmen Sie alle Zeichen, die sind nicht mit einem vorangestellten </h1> Tag.

(?=<\/h1>): Das Spiel muss gefolgt von einem </h1> Tag sein.

+0

Wenn dies für Sie funktioniert, denken Sie bitte daran, die akzeptierte Antwort zu markieren, indem Sie auf das grüne Häkchen links neben dem Beitrag drücken. –

Verwandte Themen