嘿伙计们我很难用XPath从网站上获取股票价格。
html是这样的:
<span class=" price">
<meta content="14.400" itemprop="price">
14.400
<span itemprop="priceCurrency"> BRL</span>
</span>
我用来检索14.400值的路径(所有这些都让我为空)是:
@"//span[@class=' price']";
@"/span[@class=' price']";
@"span[@class=' price']";
@"//meta[@itemprop='price'"];
@"/html/body/div[2]/div/div/div/div[2]/span/meta";
@"//html/body/div[2]/div/div/div/div[2]/span/meta";
在尝试了更多的后,我可以得到我需要的是使用这个xPath:
@"//span[@class=' price']/meta";
获取此日志:
2014-02-07 13:50:39.616 manejoderisco[2838:60b] {
nodeAttributeArray = (
{
attributeName = itemprop;
nodeContent = price;
},
{
attributeName = content;
nodeContent = "14.280";
}
);
nodeName = meta;
}
但仍然让我失去了价值......
答案 0 :(得分:1)
我终于设法创建了正确的xPath:
@"//span/meta/@content
答案 1 :(得分:0)
您尝试解析的HTML格式不正确,因为meta
没有结束标记。
但是,如果您确实能够捕获元标记,则可能需要选择内容:
//span[@class=' price']/meta/@content
或者,如果您需要第一个文本字段,
//span[@class=' price']//text()[1]
也可以。
不要忘记,当您执行//span/meta
时,您选择了meta
节点,所以<meta content="14.400" itemprop="price">14.400
(结束于任何地方,取决于您使用的是什么xpath,因为HTML格式不正确)。如果您需要内容,则需要选择@content
属性或带text()
的文本字段。