我正在开发一个项目,尝试从互联网获取财务报表并在 JAVA 应用程序中使用它们来自动创建比率和图表。
我正在使用的网站使用登录名和密码才能进入牌桌。
标签是 TBODY,但 html 中还有另外 2 个 TBODY。
如何使用 java 将表打印到 txt 文件,然后在我的应用程序中使用?
解决这个问题的最佳方法是什么?我应该阅读哪些内容?
如果这是我的项目,我会考虑使用 HTML 解析器,例如jsoup http://jsoup.org/(尽管其他可用)。 jsoup 网站有一个教程,使用一段时间后,您可能会发现它非常容易使用。
例如,对于这样的 HTML 表格:
jsoup 可以像这样解析它:
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class TableEg {
public static void main(String[] args) {
String html = "http://publib.boulder.ibm.com/infocenter/iadthelp/v7r1/topic/" +
"com.ibm.etools.iseries.toolbox.doc/htmtblex.htm";
try {
Document doc = Jsoup.connect(html).get();
Elements tableElements = doc.select("table");
Elements tableHeaderEles = tableElements.select("thead tr th");
System.out.println("headers");
for (int i = 0; i < tableHeaderEles.size(); i++) {
System.out.println(tableHeaderEles.get(i).text());
}
System.out.println();
Elements tableRowElements = tableElements.select(":not(thead) tr");
for (int i = 0; i < tableRowElements.size(); i++) {
Element row = tableRowElements.get(i);
System.out.println("row");
Elements rowItems = row.select("td");
for (int j = 0; j < rowItems.size(); j++) {
System.out.println(rowItems.get(j).text());
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
产生以下输出:
headers
ACCOUNT
NAME
BALANCE
row
0000001
Customer1
100.00
row
0000002
Customer2
200.00
row
0000003
Customer3
550.00
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)