XPath / C # не возвращает то, что ожидается - PullRequest
0 голосов
/ 29 марта 2012

Это HTML, который я пытаюсь разобрать. Я хочу получить каждый тд внутренний текст.

<tbody>
    <tr class="past">
        <!--<th><span class="place">Lugar</span></th>-->
        <td class="date">14/02/2012</td>
        <td class="hour">16:25</td>
        <td class="status">Entregue</td>
    </tr>   
    <tr class="past">
        <!--<th><span class="place">Lugar</span></th>-->
        <td class="date">13/02/2012</td>
        <td class="hour">16:59</td>
        <td class="status">Destinat&aacute;rio ausente ou fechado</td>
    </tr>   
    <tr class="past">
        <!--<th><span class="place">Lugar</span></th>-->
        <td class="date">11/02/2012</td>
        <td class="hour">14:09</td>
        <td class="status">Envio recolhido na origem</td>
    </tr>   
    <tr class="past">
        <!--<th><span class="place">Lugar</span></th>-->
        <td class="date">-</td>
        <td class="hour">-</td>
        <td class="status">Pendente de entrega &agrave; MRW</td>
    </tr>   
</tbody>

Я использую этот кусок кода для выполнения каждого td в этой таблице:

foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//tbody/tr/td"))
{
    Console.WriteLine("TD: " + link.InnerText);
}

Этот foreach печатается только один раз, и это весь стол. Я искал везде в Google, и выражение XPath должно быть правильным. Вы можете понять, в чем проблема?

1 Ответ

0 голосов
/ 29 марта 2012

Ваш код правильный.Если вы попытаетесь проанализировать только данный фрагмент кода, программа выдаст следующее:

TD: 14/02/2012
TD: 16:25
TD: Entregue
TD: 13/02/2012
TD: 16:59
TD: Destinat&aacute;rio ausente ou fechado
TD: 11/02/2012
TD: 14:09
TD: Envio recolhido na origem
TD: -
TD: -
TD: Pendente de entrega &agrave; MRW

Я предполагаю, что это то, что вам нужноПроблема в вашем оригинальном документе.Попробуйте открыть документ в другом программном инструменте, который покажет вам полное дерево DOM, и вы увидите.Возможно, вам придется изменить выражение XPath.

...