我尝试提取主体文本的网址是
indiainfoline “DOT” COM /市场/新闻/水泥股 - 构建 - 对预算的期许/ 3567698750
以下是我正在搜索的文字字符串 -
“UltraTech水泥(增长2.77%),Ambuja 水泥(上涨2.15%),ACC(上涨1.72%), 印度水泥(上涨1.50%),马德拉斯 水泥(上涨1.68%),Prism Cement(上涨 1.81%),JK Lakshmi水泥(增长2.11%)和Shree水泥“
我正在使用的XPATH查询是
sampleBody = hd.DocumentNode.SelectSingleNode("
//*[contains(.,'UltraTech Cement (up 2.77%)')]").InnerText;
我正在获取整个页面,而不仅仅是该特定节点的文本。
任何人都可以说明原因吗?
谢谢。
答案 0 :(得分:4)
我正在获取整个页面 只是那个特定的文本 节点
任何人都可以说明原因吗?
这个XPath表达式:
//*[contains(.,'UltraTech Cement (up 2.77%)')]
这意味着:任何包含'UltraTech Cement (up 2.77%)'
作为字符串值 一部分的子元素。这是因为.
会扩展为self::node()
,然后使用string()
作为contains()
的参数。
因此,如果文档内容中有这样的字符串,根元素将把它作为字符串值的一部分。
如果您需要具有此类字符串值的最内层元素,请使用此XPath表达式:
//*[contains(.,'UltraTech Cement (up 2.77%)')]
[not(*[contains(.,'UltraTech Cement (up 2.77%)')])]
口语含义:我有字符串,我的孩子都没有。