i found some secret,if my file /home/pt/mytest was changed into:
<table>
<tr bgcolor="F3F3F3">
<td align="right" width="240" class="tickerSm">reportdate</td>
<td align="right" width="65" class="tickerSm">10/31/09</td>
<td align="right" width="65" class="tickerSm">10/31/08</td>
<td align="right" width="65" class="tickerSm">10/31/07</td>
<td align="right" width="65" class="tickerSm">10/31/06</td>
<td align="right" width="65" class="tickerSm">10/31/05</td>
</tr>
<tr bgcolor="ffffff">
<td class="tickerSm">Cash & Equivalents</td>
<td align="right" class="ticker">2,493</td>
<td align="right" class="ticker">1,429</td>
<td align="right" class="ticker">1,826</td>
<td align="right" class="ticker">2,262</td>
<td align="right" class="ticker">2,251</td>
</tr>
<tr bgcolor="ffffff">
<td class="ticker">Receivables</td>
<td align="right" class="ticker">595</td>
<td align="right" class="ticker">770</td>
<td align="right" class="ticker">735</td>
<td align="right" class="ticker">692</td>
<td align="right" class="ticker">753</td>
</tr>
<tr bgcolor="ffffff">
<td class="ticker">Notes Receivable</td>
<td align="right" class="ticker">0</td>
<td align="right" class="ticker">0</td>
<td align="right" class="ticker">0</td>
<td align="right" class="ticker">0</td>
<td align="right" class="ticker">0</td>
</tr>
<tr bgcolor="ffffff">
<td class="ticker">Inventories</td>
<td align="right" class="ticker">552</td>
<td align="right" class="ticker">646</td>
<td align="right" class="ticker">643</td>
<td align="right" class="ticker">627</td>
<td align="right" class="ticker">722</td>
</tr>
<table>
with the code ,
require 'rubygems'
require 'nokogiri'
doc = Nokogiri::HTML.parse(open('/home/pt/mytest'))
result=doc.xpath('//table/tr[*[not(@class="tickerSm")]]')
puts result
what i can get is:
<tr bgcolor="ffffff">
<td class="tickerSm">Cash & Equivalents</td>
<td align="right" class="ticker">2,493</td>
<td align="right" class="ticker">1,429</td>
<td align="right" class="ticker">1,826</td>
<td align="right" class="ticker">2,262</td>
<td align="right" class="ticker">2,251</td>
</tr>
<tr bgcolor="ffffff">
<td class="ticker">Receivables</td>
<td align="right" class="ticker">595</td>
<td align="right" class="ticker">770</td>
<td align="right" class="ticker">735</td>
<td align="right" class="ticker">692</td>
<td align="right" class="ticker">753</td>
</tr>
<tr bgcolor="ffffff">
<td class="ticker">Notes Receivable</td>
<td align="right" class="ticker">0</td>
<td align="right" class="ticker">0</td>
<td align="right" class="ticker">0</td>
<td align="right" class="ticker">0</td>
<td align="right" class="ticker">0</td>
</tr>
<tr bgcolor="ffffff">
<td class="ticker">Inventories</td>
<td align="right" class="ticker">552</td>
<td align="right" class="ticker">646</td>
<td align="right" class="ticker">643</td>
<td align="right" class="ticker">627</td>
<td align="right" class="ticker">722</td>
</tr>
the row can not be selected by my code,
<tr bgcolor="F3F3F3">
<td align="right" width="240" class="tickerSm">reportdate</td>
<td align="right" width="65" class="tickerSm">10/31/09</td>
<td align="right" width="65" class="tickerSm">10/31/08</td>
<td align="right" width="65" class="tickerSm">10/31/07</td>
<td align="right" width="65" class="tickerSm">10/31/06</td>
<td align="right" width="65" class="tickerSm">10/31/05</td>
</tr>
<tr bgcolor="ffffff">
but how to delete row with xpath?
<tr bgcolor="ffffff">
<td class="tickerSm">Cash & Equivalents</td>
<td align="right" class="ticker">2,493</td>
<td align="right" class="ticker">1,429</td>
<td align="right" class="ticker">1,826</td>
<td align="right" class="ticker">2,262</td>
<td align="right" class="ticker">2,251</td>
</tr>
it can't work :
xpath('//table/tr[*[not(@class="tickerSm")]]')
maybe the reason is : some class of td is "ticker",another is
"tickerSm",
if i don't want to select it with xpath,how to express it with xpath??