0

でノードorg.htmlparserを取得したいtbodyid

Parser htmlParser =  Parser.createParser("<table id='_table' border='0' cellspacing='0' cellpadding='0' class='tableRegion' width='100%' ><thead><tr><td>1</td><td>2</td></tr></thead><tbody id='_table_body' ><tr><td>4</td><td>5</td></tr></tbody></table>","gbk"); 
NodeFilter filter = new HasAttributeFilter("id", "_table_body"); 
NodeFilter f = new AndFilter(new TagNameFilter("tr"), new HasParentFilter(filter)); 
NodeList nodelist1 = htmlParser.parse(filter); //Tag (144[0,144],173[0,173]): tbody id='_table_body' 
NodeList nodelist2 = htmlParser.parse(f); //

なぜnodelist1読まないの<tr><td>4</td><td>5</td></tr>ですか?

4

1 に答える 1

0

ノードを取得する場合は、次の<tbody>ことを期待する必要があります。

<tbody id='_table_body' ><tr><td>4</td><td>5</td></tr></tbody>

それよりも

<tr><td>4</td><td>5</td>

後者は要素の子ノード<tbody>です...要素自体ではありません。基本的に、(を使用しfilterた)コードは、適切なものを提供しているように見えます。

于 2012-06-21T02:48:28.987 に答える