我正在使用 WATIJ 进行一些屏幕抓取,但它无法读取 HTML 表(抛出 NullPointerExceptions 或 UnknownObjectExceptions)。为了克服这个问题,我阅读了 HTML 并通过 JTidy 运行它以获得格式良好的 XML。
我想用 XPath 解析它,但它无法找到一个<table ...>
by,id
即使该表在 XML 纯文本中作为一天存在。这是我的代码:
XPathFactory factory=XPathFactory.newInstance();
XPath xPath=factory.newXPath();
InputSource inputSource = new InputSource(new StringReader(tidyHtml));
XPathExpression xPathExpression=xPath.compile("//table[@id='searchResult']");
String expression = "//table[@id='searchResult']";
String table = xPath.evaluate(expression, inputSource);
System.out.println("table = " + table);
该表是一个空字符串。
但是,该表在 XML 中。如果我打印tidyHtml
它显示的字符串
<table
class="ApptableDisplayTag"
id="searchResult"
style="WIDTH: 99%">
我以前没有使用过 XPath,所以也许我遗漏了一些东西。
谁能让我直截了当?谢谢。