Htmlagilitypack xpath combine包含和不包含

时间:2014-06-03 05:38:43

标签: c# html-agility-pack

我正在使用HtmlAgilityPack获取tr,但不知何故,Web开发人员决定为所有tr提供相同的id,类,所以我有问题选择特定的tr我需要。我发现所有trvAlign='top'之间只有一个区别,所以我需要构建具有id TR_ROW_BANKTABLE的XPath,但没有@vAlign='top'

我尝试了这个,但它没有用,但我认为这是方法,只是我不知道写这个的正确方法。 如何合并not@id=TR_ROW_BANKTABLE/contains

    //table[@class='arial12NoBold']//tbody//table//tbody//tr[not(@vAlign='top')  
and contains(@id,'TR_ROW_BANKTABLE') ]//td[1]"

这是一段HTML代码     更新:

<table width="100%" cellspacing="1" cellpadding="4" border="0" bgcolor="#fefefe">
<tbody>

//This tr that i don't need 

    <tr id="TR_ROW_BANKTABLE" class="TR_ROW_BANKTABLE" align="right" style="display: none;" name="nameTr2">
<td align="center" colspan="7">
<misgeret_table takepartfromcash="ItrotMatach">
<table id="WHITE_BANKTABLE" cellspacing="0" cellpadding="3" border="1" bgcolor="white" bordercolordark="#E2ECF1" bordercolorlight="#2b7cd2" iswhitetable="Y">
<tbody>
<tr class="TR_BANKTABLE" valign="top" align="right">
<td>some text</td>
<td>
<td>
<td>some text</td>
<td>some text</td>
<td>some text</td>
<td>some text</td>
</tr>
<tr bgcolor="white" align="right" style="background-color: white;">
</tbody>
</table>
</misgeret_table>
</td>
</tr>



//This i trying to get

    <tr id="TR_ROW_BANKTABLE" class="TR_ROW_BANKTABLE" bgcolor="#EDF1F4" align="right" onmouseover="printRow(this);" onmouseout="printrowback(this);" style="">
    <td align="right">3.4404000</td>
    <td align="right">60,895.08</td>
    <td align="right">17,700.00</td>
    <td align="right">17,700.00</td>
    <td align="right">02/06/14</td>
    <td align="right">loop</td>
    <td align="right">
    </tr>

</tbody>
</table>

1 个答案:

答案 0 :(得分:0)

我找到了使用onmouseover and onmouseout的方式并将其与and

结合使用
"//table[@class='arial12NoBold']//tbody//table//tbody//tr[contains(@onmouseout,'printrowback(this);') and  contains(@onmouseover,'printRow(this);') ]//td[1]");