Как сопоставить и вернуть часть файла HTML в ASP - PullRequest
1 голос
/ 19 января 2012

Я ищу соответствие нескольких файлов HTML, которые передаются в цикле в файле 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 %>

Я проверил регулярное выражение в моих файлах и оно соответствует частям, которые я хочу.

, когда я запускаю страницу, содержащую этот кодЯ получаю сообщение об ошибке:

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

в строке с ex.Execute.Я также пробовал ex.Match, но получил ту же ошибку.Так что мне явно не хватает подходящего метода для возврата совпадения, чтобы я мог записать его в файл.Что это за метод?Или я подхожу к проблеме с неправильного направления?

Спасибо!

1 Ответ

1 голос
/ 19 января 2012

Вам нужно Set, когда вы присваиваете outputText:

Set outputText = ex.Execute(mediaSrcText)

Я, вероятно, должен также сказать, что вам действительно не следует использовать регулярные выражения для попытки разбора HTML, хотя янедостаточно знаю контекст, чтобы предложить более конкретный совет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...