2012-01-19 5 views
1

ASPファイルのループに渡される複数のHTMLファイルの一部と一致するように探していて、HTMLファイルのその部分をmy出力。これまでのコードは、これまでのところです:ASPでHTMLファイルの一部を一致させて返す方法

<%for i=0 to uBound(fileIDs) ' fileIDs is an array of URLs 
    dim srcText, outText, url 
    Set ex = New RegExp 
    ex.Global = true 
    ex.IgnoreCase = true 
    ex.Pattern = "<section>[\S\s]+</section>" ' This finds the HTML I want 
    url = fileIDs(i) 
    Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") 
    xmlhttp.open "GET", url, false 
    xmlhttp.send "" 
    srcText = xmlhttp.responseText 
    outputText = ex.Execute(mediaSrcText) ' I expect this to be the HTML I want 
    Response.Write(outputText.Item(0).Value) ' This would then return the first instance 
    set xmlhttp = nothing 
next %> 

私は自分のファイルの正規表現をテストしましたが、それが必要な部分に一致しています。

私はこのコードを含むページを実行すると、私はエラーを取得:ex.Executeとライン上の

Microsoft VBScript runtime error '800a01b6' 
Object doesn't support this property or method 

。私もex.Matchを試しましたが、同じエラーがありました。だから私は明らかにマッチを返すための適切なメソッドがないので、ファイルに書き出すことができます。その方法は何ですか?あるいは、間違った方向から問題に近づいていますか?

ありがとうございます!

答えて

1

あなたがoutputTextを割り当てるしているときは、Setが必要になります。

Set outputText = ex.Execute(mediaSrcText) 

私は十分を知らないが、私はおそらくも、あなたが本当にHTMLを解析しようとするために正規表現を使用してはならないことを言うべきより具体的なアドバイスを提供するための文脈について。

+0

ありがとうございます!それは私に、少なくとも新しいエラーに前進しました。動いている! – theJBRU

+0

悲しいことに、現時点ではClassic ASP環境にアクセスすることはできません。それ以外の場合はおそらくそれをもう少し取ることができました:-) – Anodyne

関連する問題