1

我的html结构如下

<td class="opps">1:2</td>

我正在尝试使用 XPath 拆分 td 值,如下所示

.//*[contains(@class, 'opps')]/text()[normalize-space(substring-after(., ':'))]
.//*[contains(@class, 'opps')]/text()[normalize-space(substring-before(., ':'))]

但值返回1:2

如何分别提取12

我也在使用 HtmlNodeNavigator 和 HtmlAgilityPack。

有什么问题?

先感谢您。

4

2 回答 2

2

经过更多搜索,我找到了解决方案。

如果使用HtmlNodeNavigatorXPathNavigator,解决方案可能如下

string _result1 = <HtmlNodeNavigator>.Evaluate("substring-after(.//*[contains(@class, 'opps')]/text(), ':')") as string; 
string _result2 = <XPathNavigator>.Evaluate("substring-before(.//*[contains(@class, 'opps')]/text(), ':')") as string;
于 2013-03-31T08:30:12.310 回答
0

以防万一,您也可以使用 c# 方法。例如;

string strVal = "1:2";
string[] splitedStrArr = strVal.Split(':'); 
// you have now 2 elements inside the array. You can use it separately
于 2016-10-02T18:20:23.753 回答