HTML节点解析与ASP经典(html node parsing with ASP classic)

2019-10-19 02:18发布

我stucked一天的试图寻找一个答案:有没有可能与传统的ASP,利用MSXML2.ServerXMLHTTP.6.0 - 解析HTML代码和提取由红粉ID的一个HTML节点的内容? 例如:

远程HTML文件:

<html>
.....
<div id="description">
some important notes here
</div>
.....
</html>

ASP代码

<%    
    ...
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    objHTTP.Open "GET", url_of_remote_html, False
    objHTTP.Send
    ...
%>

现在 - 我读了很多文档的,有访问HTML源(objHTTP.responseText)和结构(objHTTP.responseXML)的可能性。 但是,如何在世界上我可以使用XML响应访问该分区的内容? 我已阅读并尝试这样的例子很多,但找不到任何明确的,我可以解决。

Answer 1:

首先起来,执行GET请求,因为你原来的代码片段:

Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.Open "GET", url_of_remote_html, False
http.Send

接下来,创建一个正则表达式对象,并设置要匹配的模式与所需ID的元件的内HTML:

Set regEx = New RegExp
regEx.Pattern = "<div id=""description"">(.*?)</div>"
regEx.Global = True

最后,拔出从第一场比赛中的第一个子匹配的内容:

On Error Resume Next
contents = regEx.Execute(http.responseText)(0).Submatches(0)
On Error Goto 0

如果出现任何错误,例如匹配的元素没有在文档中找到, contents将是Null 。 如果一切顺利的计划contents应该抱着你正在寻找的数据。



文章来源: html node parsing with ASP classic