Avatar billede reds2001 Nybegynder
16. oktober 2003 - 00:16 Der er 4 kommentarer

Hvordan parser jeg en html streng?

Jeg vil gerne have udtrukket værdierne af de attributter der er i følgene streng:

function getContent_1( i ) {
switch( i ) {
case 0:
  return "<p class='floater02'>Du kan sortere aktierne ved at klikke p&aring; kolonneoverskrifterne.</p><div class='updatedBox'><p>Slutning d. 15/10-2003        </p></div><div class='spacerBlock'>&nbsp;</div><div class='standardList09'><table class='listContent' id='shares'><thead><tr><td onclick='TableSort(\&quot;shares\&quot;, 0, \&quot;ai\&quot;)'><p><strong>Papirnavn</strong></p></td><td onclick='TableSort(\&quot;shares\&quot;, 1, \&quot;n\&quot;)'><p style='text-align:right;'><strong>Bud</strong></p></td><td onclick='TableSort(\&quot;shares\&quot;, 2, \&quot;n\&quot;)'><p style='text-align:right;'><strong>Udbud</strong></p></td><td onclick='TableSort(\&quot;shares\&quot;, 3, \&quot;n\&quot;)'><p style='text-align:right;'><strong>Seneste kurs</strong></p></td><td onclick='TableSort(\&quot;shares\&quot;, 4, \&quot;any\&quot;)'><p style='text-align:right;'><strong>&AElig;ndring point</strong></p></td><td onclick='TableSort(\&quot;shares\&quot;, 5, \&quot;n\&quot;)'><p style='text-align:right;'><strong>&AElig;ndring %</strong></p></td><td onclick='TableSort(\&quot;shares\&quot;, 6, \&quot;n\&quot;)'><p style='text-align:right;'><strong>Oms&aelig;tning</strong></p></td><td onclick='TableSort(\&quot;shares\&quot;, 7, \&quot;n\&quot;)'><p style='text-align:right;'><strong>Antal handler</strong></p></td><td onclick='TableSort(\&quot;shares\&quot;, 8, \&quot;ai\&quot;)'><p><strong>Info</strong></p></td></tr></thead><tbody><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010244425' target='_top'>A.P. M&oslash;ller - M&aelig;rsk A</a></p></td><td><p>49.800,00</p></td><td><p>50.200,00</p></td><td><p>50.000,00</p></td><td><p>+1.000,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+2,04<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>61.070.832</p></td><td><p>260</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010244425' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010244508' target='_top'>A.P. M&oslash;ller - M&aelig;rsk B</a></p></td><td><p>52.000,00</p></td><td><p>52.200,00</p></td><td><p>52.000,00</p></td><td><p>+900,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+1,76<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>431.851.419</p></td><td><p>1.282</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010244508' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010181759' target='_top'>Carlsberg B</a></p></td><td><p>266,50</p></td><td><p>267,00</p></td><td><p>267,00</p></td><td><p>+3,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+1,14<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>21.295.254</p></td><td><p>121</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010181759' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010262674' target='_top'>Coloplast B (18m)</a></p></td><td><p>545,00</p></td><td><p>546,00</p></td><td><p>546,00</p></td><td><p>+6,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+1,11<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>21.170.478</p></td><td><p>140</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010262674' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010207497' target='_top'>Danisco</a></p></td><td><p>246,50</p></td><td><p>247,00</p></td><td><p>247,00</p></td><td><p>+1,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+0,41<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>35.436.713</p></td><td><p>133</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010207497' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010274414' target='_top'>Danske Bank</a></p></td><td><p>126,00</p></td><td><p>126,50</p></td><td><p>126,00</p></td><td><p>+0,50<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+0,40<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>547.146.593</p></td><td><p>745</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010274414' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010262914' target='_top'>DSV</a></p></td><td><p>217,00</p></td><td><p>218,00</p></td><td><p>218,00</p></td><td><p>+2,50<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+1,16<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>17.227.538</p></td><td><p>86</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010262914' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010272632' target='_top'>GN Store Nord</a></p></td><td><p>39,00</p></td><td><p>39,10</p></td><td><p>39,10</p></td><td><p>+1,10<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+2,89<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>84.691.584</p></td><td><p>588</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010272632' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010291699' target='_top'>Group 4 Falck</a></p></td><td><p>146,00</p></td><td><p>146,50</p></td><td><p>146,50</p></td><td><p>+0,50<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+0,34<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>109.774.006</p></td><td><p>300</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010291699' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010287234' target='_top'>H. Lundbeck</a></p></td><td><p>119,00</p></td><td><p>119,50</p></td><td><p>119,50</p></td><td><p>+6,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+5,29<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>168.179.178</p></td><td><p>1.171</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010287234' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010267046' target='_top'>ISS</a></p></td><td><p>308,50</p></td><td><p>310,00</p></td><td><p>310,00</p></td><td><p>+11,50<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+3,85<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>119.062.112</p></td><td><p>422</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010267046' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010258482' target='_top'>Jyske Bank</a></p></td><td><p>284,50</p></td><td><p>285,50</p></td><td><p>284,00</p></td><td><p>+2,50<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+0,89<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>8.551.522</p></td><td><p>73</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010258482' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010253681' target='_top'>NEG Micon</a></p></td><td><p>84,50</p></td><td><p>85,00</p></td><td><p>85,00</p></td><td><p>+2,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+2,41<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>9.990.558</p></td><td><p>161</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010253681' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.SE0000427361' target='_top'>Nordea - stk 0,39632 EUR</a></p></td><td><p>39,20</p></td><td><p>39,30</p></td><td><p>39,30</p></td><td><p>+1,10<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+2,88<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>38.709.157</p></td><td><p>235</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.SE0000427361' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010280817' target='_top'>Novo Nordisk B (107.4872m)</a></p></td><td><p>240,00</p></td><td><p>240,50</p></td><td><p>240,00</p></td><td><p>-0,50<img alt='down' src='/static/Images/KF/images/arrow_down_red.gif'></p></td><td><p>-0,21<img alt='down' src='/static/Images/KF/images/arrow_down_red.gif'></p></td><td><p>177.005.665</p></td><td><p>826</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010280817' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010272129' target='_top'>Novozymes B (107.4872m)</a></p></td><td><p>206,00</p></td><td><p>207,00</p></td><td><p>206,00</p></td><td><p>-1,00<img alt='down' src='/static/Images/KF/images/arrow_down_red.gif'></p></td><td><p>-0,48<img alt='down' src='/static/Images/KF/images/arrow_down_red.gif'></p></td><td><p>23.093.785</p></td><td><p>221</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010272129' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010253335' target='_top'>TDC</a></p></td><td><p>208,50</p></td><td><p>209,00</p></td><td><p>209,00</p></td><td><p>+2,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+0,97<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>109.009.359</p></td><td><p>546</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010253335' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010259530' target='_top'>Topdanmark</a></p></td><td><p>300,00</p></td><td><p>301,00</p></td><td><p>301,00</p></td><td><p>+5,50<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+1,86<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>42.260.209</p></td><td><p>97</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010259530' target='_top'></a></p></td></tr><tr class='TableBgCol1'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010268606' target='_top'>Vestas Wind Systems</a></p></td><td><p>117,00</p></td><td><p>117,50</p></td><td><p>117,00</p></td><td><p>+2,00<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+1,74<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>125.413.396</p></td><td><p>623</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010268606' target='_top'></a></p></td></tr><tr class='TableBgCol0'><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010268440' target='_top'>William Demant Holding</a></p></td><td><p>191,00</p></td><td><p>191,50</p></td><td><p>191,50</p></td><td><p>+0,50<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>+0,26<img alt='up' src='/static/Images/KF/images/arrow_up_green.gif'></p></td><td><p>20.098.132</p></td><td><p>201</p></td><td><p style='text-align:left;'><a href='/kf/kf_aktie_kursdata?menu2show=1.1.2.1.&p_stockid=stock.kf.DK0010268440' target='_top'></a></p></td></tr></tbody></table></div>";
break;
Hvordan gør jeg??
Avatar billede tjp Mester
16. oktober 2003 - 06:18 #1
Øh, hvad mener du?? *S*
Avatar billede reds2001 Nybegynder
16. oktober 2003 - 08:37 #2
Ovenstående streng kommer fra at have screenscrapet Fondsborsens hjemmeside og den indeholder navne, købs- og salgs kurs mm. af en række aktier. Disse informationer vil jeg gerne have lagt over i min applikation eksempelvis i en tabel eller i objekter således at jeg kan bruge informationerne til beregninger.
Avatar billede oswald Nybegynder
16. oktober 2003 - 13:41 #3
du skal nok bruge nogle regulære udtryk til at hente dem. Nu kan jeg ikke lige overskue hvilke attributter det er du vil ha fat i men hvis du f.eks. vil ha fat i src attributten på en a tag kan du benytte følgende kode.

        Dim SRCString As String
        Dim RegExp As New System.Text.RegularExpressions.Regex("<a[^>]*src=""([^""]*)""[^>]*>")
        Dim RegExpMatch As System.Text.RegularExpressions.Match
        For Each RegExpMatch In RegExp.Matches("InputString")
            SRCString = RegExpMatch.Groups(1).ToString
        Next

Med hensyn til hvilke regulære udtryk du skal bruge afhænger det meget af hvad du vil ha', men dette er da en start.

Oswald
Avatar billede oswald Nybegynder
16. oktober 2003 - 13:43 #4
jeg tror forøvrigt du skal passe lidt på med at hente data fra en html side uden af forhører dig hos dem du tager data fra. For det første kan de ændre formatet hvorefter din kode ikke virker. For det andet kan de (Med god ret ;) )anklage dig for copyright overtrædelse, datatyverri m.m.

Oswald
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester