我写了一段代码将网页加载到文档对象中,并在给定的XPath中读取一个值。一切工作正常,除了给定XPath的值以空字符串形式返回。我在页面上尝试了几个XPath值,并且Everyting作为空字符串返回。我的代码如下:
var req = new XMLHttpRequest();
req.onload = function() {
if (this.readyState == 4 && this.status == 200) {
if(req.status == 200) {
var xmlString = req.responseText;
document.write(xmlString);
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString, "text/xml");
var result = xmlDoc.evaluate('/html/body/div[2]/div[3]/div[1]/div[3]/div[3]/div[1]/div[1]/div[3]/div[2]/p[1]/strong', xmlDoc, null, XPathResult.STRING_TYPE, null);
alert(result.stringValue);
}
}
}
req.open('GET', 'https://www.moneycontrol.com/india/indexfutures/nifty/9/2019-03-28/OPTIDX/PE/10700.00/true', false);
req.overrideMimeType('text/xml; charset=windows-1251'); // for Cyrillic
req.send(null);
我也尝试使用XPathResult.ANY_TYPE
和.iterateNext()
,但是在那种情况下,我总是得到空值。请让我知道我是否误会了这里。