给这2个表格,如何过滤出指定的TD 表格内容项。我想根据td_num得到指定的td_value。因为标签属性都一样,所以有些困难。比如,我只想要第一个表格的td_value2和第二个表格的td_value6。如何根据td_num得到td_value呢???
请高手给出代码,最好用filter方法遍历节点访问内容。
代码好的,我会追加分!!!
[code="java"]
FN | ISI Export Format |
VR | 1.0 |
td_1 | td_value1 |
td_2 | td_value2 |
td_3 | td_value3 |
FN | ISI Export Format |
VR | 1.0 |
td_4 | td_value4 |
td_5 | td_value5 |
td_6 | td_value6 |
td_7 | td_value7 |
[code="java"]
import org.htmlparser.Node;
import org.htmlparser.Parser;
import org.htmlparser.filters.RegexFilter;
import org.htmlparser.util.NodeIterator;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
public class HTMLParserMain {
public static void main(String [] args)
{
String htmlPath = "D:\\test.html";
try {
String reg = "[2,6]";
Parser parser = new Parser(htmlPath);
RegexFilter filter = new RegexFilter ("td_"+reg+"{1,}");
NodeIterator iterator = parser.extractAllNodesThatMatch (filter).elements ();
Node node;
Node np;
NodeList nlist;
while(iterator.hasMoreNodes()){
node = iterator.nextNode();
nlist =
node
.getParent()
.getParent()
.getChildren();
System.out.println(nlist.elementAt(3).toPlainTextString());
}
} catch (ParserException e) {
e.printStackTrace();
}
}
}
[/code]
反正用RegexFilter,可以这么来做,应该不算很好的方法,但是是个可行的方法,可以根据你给的number生成regex,然后匹配出你要的值