Etwas aus einem Quellcode herraus suchen!!

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Etwas aus einem Quellcode herraus suchen!!

    Hallo,
    ich bin gerade dabei ein Programm zu schreiben. Jetzt habe ich das Problem, das ich nicht weiter komme.. Also mein Programm soll auf einer Anderen Website (in dem Webbrowser vorhanden) nach dem Quellcode schauen und sich da etwas raussuchen.
    _____________________________________________________________________________
    Z.B.

    HTML-Quellcode

    1. <table width="100%" border="0px" cellpadding="0" cellspacing="0" >
    2. <tr id="If_59">
    3. <td style ="border-bottom:1px dotted #bbbbbb;padding: 2px 0px px 0px;">
    4. Energie / Brennwert</td>
    5. <td style ="border-bottom:1px dotted #bbbbbb;text-align:right;padding: 2px 0px px 0px;">

    _____________________________________________________________________________

    Jetzt soll er nach Energie/Brennwert suchen und die dadrüber stehende ID ansagen (Jetzt also IF_59) Da die ID immer verschieden ist.
    Das was in dieser ID steht soll er dann in einem Label anzeigen.

    Danke...
    Hey,

    164timo schrieb:

    Nein leider nicht... Sind bestimmt noch 20 ander ID...

    das verkompliziert das ganze natürlich. Also ich habe mich, aus fehlender Notwendigkeit, noch nie ernsthaft mit Regex auseinander gesetzt. Insofern kann ich, sollte dies eine besser Lösung bieten, damit nicht dienen.

    Auf die schnelle hätte ich folgendes vorgeschlagen: den kompletten Quellcode zeilenweise in eine Liste oder in ein Array einlesen. Anschließend nach "Energie / Brennwert" suchen. Der Treffer liefert dir die Position (Index) im Quelltext, quasi die Zeile. Nun einfach zeilenweise nach oben gehen und prüfen, ob die Zeile den Begriff "id" enthält. Wenn ja, kannst du nun die Zahl in deinem Label ausgeben.

    Ich weiß, alles andere als schön, aber auf die schnelle fällt mir jetzt nichts anderes ein. Vielleicht weiß hier noch jemand einen anderen Vorschlag?

    Gruß, Manschula
    das Prinzip ist von dir, nur lese ich nicht zeilenweise, sondern direkt aussm insgesamt eingelesenen src-String:

    VB.NET-Quellcode

    1. Private Sub Analyse(ByVal src As String)
    2. Dim iBrennwert = src.IndexOf("Energie / Brennwert")
    3. Const idSearch = "id="""
    4. Dim iId0 = src.LastIndexOf(idSearch, iBrennwert) + idSearch.Length 'vor Brennwert suchen
    5. Dim iId1 = src.IndexOf(""""c, iId0) 'abschließendes " suchen
    6. MsgBox(src.Substring(iId0, iId1 - iId0))
    7. End Sub