HTML敏捷包xpath表达式帮助

HTML敏捷包xpath表达式帮助,xpath,html-agility-pack,Xpath,Html Agility Pack,我的html如下所示: <table width="98%" border="0" align="center" cellpadding="0" cellspacing="2"> <tr> <td height="20" colspan="2"> &nbsp; </td> </tr> <tr> <td height="20" colspan="2" class="font

我的html如下所示:

<table width="98%" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
    <td height="20" colspan="2">
        &nbsp;
    </td>
</tr>
<tr>
    <td height="20" colspan="2" class="fontDestaque2NegritoHome">
        MATR&Iacute;CULA: PPAAG
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        &nbsp;
    </td>
    <td align="right" valign="middle" class="tx_bd">
        &nbsp;
    </td>
</tr>
<tr>
    <td width="35%" align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Fabricante:</span>
        </div>
    </td>
    <td width="59%" align="right" valign="middle" class="tx_bd">
        <div align="left">
            CESSNA AIRCRAFT</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Modelo:</span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            T206H</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">N&uacute;mero de S&eacute;rie:</span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            T20608735</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left" class="tx_bold">
            Tipo ICAO :
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            C206</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Tipo de Habilita&ccedil;&atilde;o para Pilotos:</span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            MNTE</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Classe da Aeronave:</span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            POUSO CONVECIONAL 1 MOTOR CONVENCIONAL</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Peso M&aacute;ximo de Decolagem:</span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            1633 - Kg</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">N&uacute;mero M&aacute;ximo de Passageiros:</span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            005</div>
    </td>
</tr>
<tr>
    <td colspan="2" align="right" valign="middle" class="tx_bd">
        <div align="left">
        </div>
    </td>
</tr>
<tr>
    <td colspan="2" align="right" valign="middle" background="../images/bgPontilhado.gif"
        class="tx_bd">
        <div align="left">
            <img src="../images/bgPontilhado.gif" width="4" height="1"></div>
    </td>
</tr>
<tr>
    <td colspan="2" align="right" valign="middle" class="tx_bd">
        <div align="left">
        </div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Categoria de Registro:</span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            PRIVADA SERVICO AEREO PRIVADOS</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">N&uacute;mero dos Certificados (CM - CA)</span>:
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            19040</div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Situa&ccedil;&atilde;o no RAB:</span><span class="stop_litle">
            </span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="fontRed">ARRENDAMENTO OPERACIONAL/ALIENACAO FIDUCIARIA</span></div>
    </td>
</tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Data da Compra/Transfer&ecirc;ncia:</span>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
        </div>
    </td>
</tr>
<tr>
    <td colspan="2" align="right" valign="middle" class="tx_bd">
        <div align="left">
        </div>
    </td>
</tr>
<tr>
    <td colspan="2" align="right" valign="middle" background="../images/bgPontilhado.gif"
        class="tx_bd">
        <div align="left">
            <img src="../images/bgPontilhado.gif" width="4" height="1"></div>
    </td>
</tr>
<tr>
    <td colspan="2" align="right" valign="middle" class="tx_bd">
        <div align="left">
        </div>
    </td>
    <tr>
        <td align="right" valign="middle" class="tx_bd">
            <div align="left">
                <span class="tx_bold">Data de Validade do CA: </span>
            </div>
        </td>
        <td width="3%" align="right" valign="middle" class="tx_bd">
            <div align="left">
                <span class="tx_bd">21/05/16</span></div>
        </td>
    </tr>
<tr>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left" class="tx_bold">
            <div align="left">
                Data de Validade da IAM:
            </div>
        </div>
    </td>
    <td align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bd">110513</span></div>
    </td>
</tr>
<tr>
    <td height="18" align="right" valign="middle" class="tx_bd">
        <div align="left">
            <span class="tx_bold">Situa&ccedil;&atilde;o de Aeronavegabilidade:</span>
        </div>
    </td>
    <td height="18" align="right" valign="middle" class="tx_bd">
        <div align="left">
            Normal</div>
    </td>
</tr>
<tr>
    <td height="18" colspan="2" align="right" valign="middle" class="tx_bd">
        <div align="left" class="tx_bold">
            Motivo(s):
        </div>
    </td>
</tr>
<tr>
    <td height="18" colspan="2" align="right" valign="middle" class="tx_bd">
        <div align="left">
            <blockquote>
                <p>
                    <span class="tx_bold"></span>
                </p>
            </blockquote>
        </div>
    </td>
</tr>
<tr>
    <td height="18" colspan="2" align="left" valign="middle" class="tx_bd">
        Consulta realizada em: 16/8/2012 15:52:45<br>
    </td>
</tr>

马特&亚库特;CULA:PPAAG
制作人:
塞斯纳飞机
模型:
T206H
Nú;梅罗·德·埃库特;rie:
T20608735
国际民航组织:
C206
提波德哈比利塔和塞迪尔&阿蒂尔德;o第Pilotos段:
MNTE
航空导航舱等级:
普索对流1电机会议
比索货币;西莫·德科拉格姆:
1633公斤
Nú;梅罗Má;西莫·德·帕萨盖罗斯:
005
登记类别:
PRIVADA SERVICO AEREO PRIVADOS
Nú;mero dos认证(CM-CA):
19040
Situaç&阿蒂尔德;o无RAB:
ARRENDAMENTO OPERACIONAL/ALIENACAO信托
数据压缩/传输和ecirc;ncia:
数据有效性数据do CA:
21/05/16
IAM有效数据:
110513
Situaç&阿蒂尔德;o航空导航设备:
典型的
莫蒂沃(s):

领事:16/8/2012 15:52:45

我想抓取以下文本:

  • 塞斯纳飞机
  • T206H
  • T20608735
  • C206
  • MNTE
  • 普索对流1电机会议
  • 1633公斤
  • 005
  • PRIVADA SERVICO AEREO PRIVADOS
  • 19040
  • ARRENDAMENTO OPERACIONAL/ALIENACAO信托
  • 2016年5月21日
  • 110513
  • 正常的
一些div只包含我需要的文本。其他div包含一个span,其中包含我需要的文本。如何为此构造xpath?

使用:

//tr/td[@align='right' and @valign='middle' and @class='tx_bd']
       /div[@align='left 'and not(*)]
         /text()

我得到了一个空引用异常,因此我将用我正在搜索的html文档更新我的原始帖子,而不仅仅是那个片段。@sf搅拌器,XPath表达式(不管对它求值的是什么XML文档),不能成为空引用异常的原因--问题在代码的其他地方。我假设NRE可能是由表达式在文档中找不到匹配项引起的。我将再次查看代码。@sfmitter,否,如果未选择任何节点,则计算结果为空节点列表,而不是异常。如果代码试图从空节点列表中获取一个项——这可能会导致异常。我应该澄清一下——您是正确的。因为我现在只是测试,没有捕获任何错误,事实上,我正在尝试从空(null)列表中获取一个项。下面,当我运行代码时,数据变量为null:var data=document.DocumentNode.SelectNodes(//tr/td[@align='right'和@valign='middle'和@class='tx_bd']]/div[@align='left'和not(*)]/text();