将HTML字符串解析为JScript ES3中的文档

时间:2019-02-11 09:24:50

标签: html-parsing jscript domparser

由于JScript是Java的Microsoft ES3变体“浏览器外”,因此很难将HTML字符串解析为对象来完成一些简单的事情。

如前所述,JScript并不驻留在浏览器中,因此它没有标准的文档类型,也没有domparser。

我可以这样创建一个文档对象:

 var document = new ActiveXObject('htmlfile')
 document.innerHTML = http.responseText

尽管这会将html响应呈现到文档中,但我不能使用getElementsByClassName,TagName甚至ID来使用-这正是我要处理的html响应(上面提到的那些)所要做的。

我已经尝试使用John Resig的“纯JavaScript HTML解析器”,但是它无法在ES3中运行,并且我对JScript / ES3并不精通,无法理解为什么。

https://johnresig.com/blog/pure-javascript-html-parser/

最终,我想解析文档对象中的HTML文件,并能够按其类,id,标记名等提取元素。对我来说,这听起来应该很容易,但事实并非如此。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

getElementByIdgetElementsByTagName似乎有效:

var document = new ActiveXObject('htmlfile');
document.open();
document.write('<html><div id="div1" class="class1">test</div></html>');
document.close();

WScript.Echo(document.getElementById("div1").id);

WScript.Echo(document.getElementsByTagName("div")[0].id);

WScript.Echo(document.getElementsByTagName("div")[0].className);

test output