Webbrowser's html code auslesen lassen nach dem Einloggen

Turri

Erfahrenes Mitglied
Hallo,

Bisschen mehr Html Code wäre nicht schlecht.
Wenn du nur die Zahl haben willst.

C#:
string text = "<html>";
text += "<a href=\"/shop\"><b>208,82</b>";
text += "</html>";
Parseing(text);

Dann in Anlehnung an mein Projekt.
C#:
private void Parseing(string text)
{     
     Regex rgx = new Regex("[0-9].*[0-9]");
     MatchCollection coll = rgx.Matches(text);
     foreach (Match m in coll)
     {
           this.listBox1.Items.Add(m.Value);
     }
}
Das pickt dir aus dem Stück Code jetzt die Zahl raus.
 

Xakone47

Mitglied
Juhu :D...das funktioniert....jetz mein letztes Problem :D...

diese zahl ist jetz von meinem quellcode...wenn jemand anders sich anmeldet ist der anders...wie kann man das machen das er einfach den code der zwichen den html code steckt raus pickt...

diese funktion pickt ja nur die zahl raus die schon im prinziep in der form enthalten ist....aber das soll er ja vom html code raus nehmen das sich die zahl bei jedem anders ist..



danke im vorraus...

grüße
 
Zuletzt bearbeitet:
M

Maik

@Xakone47: Würdest du bitte in deinen Beiträgen auf unsere Netiquette (Nr.15) bzgl. der erwünschten Groß- und Kleinschreibung achten?

Vielen Dank! :)

mfg Maik
 

Xakone47

Mitglied
Tut mir Leid :D...wird nicht wieder vorkommen...:)


Edit::::

So habs endlich geschaft :D für Alle die es auch irgendwann mal wissen möchten hier:

Parseing(WebBrowser1.DocumentText)

Private Sub Parseing(ByVal text As String)

Dim rgx As Regex = New Regex("/XXX""><b>[0-9].*[0-9]</b>")
Dim coll As MatchCollection = rgx.Matches(text)
For Each m As Match In coll
Me.ListBox1.Items.Add(m.Value)


Parseing2(m.Value)



Next
End Sub

XXX= Es steht in deinem Quellcode. Guck genau vor dem element was du rausfiltern wills ob da was steht was du benutzen kannst .
Damit es am ende nicht zuviel zur auswahl steht..

Bei mir Kam das raus nach dem:

/shop"><b>die zahl die ich haben möchte</b>

So und nun um die Zahl von da raus zu filtern nochmal Parsen

Private Sub Parseing2(ByVal text As String)

Dim rgx2 As Regex = New Regex("[0-9].*[0-9]")
Dim coll2 As MatchCollection = rgx2.Matches(text)
For Each m2 As Match In coll2
Me.ListBox2.Items.Add(m2.Value)

Form1.Label11.Text = (m2.Value)

Next
End Sub

Das durchsucht den vorhigen Code nach 2 Zahlen bei den in der mitte Irgendwas sein kann...
am Ende kam dann herraus:

208,28

Das was ich wollte :D...
Und eine Große Hilfe war mir natürlich @Turri ohne ihn wäre ich nicht dazu gekommen...
DANKE...

Grüße
 
Zuletzt bearbeitet:

SoerenSchmidt

Grünschnabel
Hallo,

das Problem ist zwar gelöst, ich möchte jedoch einen etwas eleganteren Denkansatz vorschlagen. HTML ist im Prinzip nichts anderes als XML (xHTML), so lassen sich auch hier die XML-Funktionen verwenden.
Dies nur als Tip, falls eine dynamische Lösung für ein Problem notwendig ist.

Grüße Sören
 

Neue Beiträge