我的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
如何分别提取 1 和 2 ?
我也在使用HtmlNodeNavigator和HtmlAgilityPack。
有什么不对?
提前谢谢。
答案 0 :(得分:2)
我在搜索后找到了解决方案。
如果使用 HtmlNodeNavigator 或 XPathNavigator ,可以使用以下解决方案
string _result1 = <HtmlNodeNavigator>.Evaluate("substring-after(.//*[contains(@class, 'opps')]/text(), ':')") as string;
string _result2 = <XPathNavigator>.Evaluate("substring-before(.//*[contains(@class, 'opps')]/text(), ':')") as string;
答案 1 :(得分:0)
以防万一,您也可以使用c#方法。 例如;
string strVal = "1:2";
string[] splitedStrArr = strVal.Split(':');
// you have now 2 elements inside the array. You can use it separately