我需要使用xpath

时间:2019-02-14 12:44:26

标签: c# .net xpath

我可以到达标签,问题是我无法在标签后立即获得文本。

我已经尝试过:

y.SelectSingleNode($"td[5]/font/b[.='{labelCampo}']")
y.SelectSingleNode($"td[5]/font/b[.='{labelCampo}']/text()").InnerText

以及许多其他形式。

<td align="left" width="623">

<font class="normal">

<b>Protocolo:</b>

"850160251675 (09/11/2016)"
<br>

我想获取这个数字和日期,而不是文本“ Protocolo:”

enter code here

2 个答案:

答案 0 :(得分:0)

您可以选择“普通”类,并使用innerText属性获取数字和日期。

我已经尝试过此代码,并且完全可以正常工作。

var html =
    @"<html>
    <body><p>
    <table class=\'foo\'>
        <tr><th>hello</th></tr>
        <tr><td>world</td></tr>
    </table>
    <div class=\'test\'>
        <b>Protocolo:</b>
        850160251675 (09/11/2016)
        </div>
    </body></html>";

    var htmlDoc = new HtmlDocument();
    htmlDoc.LoadHtml(html);

    var body = htmlDoc.DocumentNode.SelectSingleNode("//div[contains(@class, 'test')]");

    Console.WriteLine(body.InnerText);

https://dotnetfiddle.net/d4chXg

答案 1 :(得分:0)

我解决了!

我只需要在原始声明中使用.Nextsibiling.innertext

y.SelectSingleNode($"td[5]/font/b[.='{labelCampo}']").NextSibling.InnerText