我被要求通过任何方式(无论我选择了JSoup解析器,因为我认为这是最好的解决方案),以表中的特定(正确且相同)格式输出给出的代码。我做了一些研究,并观看了一些教程,以了解它们是如何工作的,但被卡住了。
我已经尝试查看StackOverflow并发现了类似的问题,但是,我无法将先前的解决方案应用于我的任务。
我有一个具有三行八列的表,其中每个单独的单元格都必须以特定的方式设置格式(某些格式类似于大写文本,即日期格式)。我本来想提取它们中的每一个,然后尝试使用正则表达式,但是,我只设法提取了每一行。
下面是我要解析的上述表格。
代码:
ArrayList<String> tableContent = new ArrayList<>();
File input = new File("[..]task_A1.html");
Document doc = Jsoup.parse(input, "UTF-8");
Element table = doc.select("table").get(0);
Elements rows = table.select("tr");
for(int i = 0; i < rows.size(); i++){
Element row = rows.get(i);
Elements cols = row.select("th");
tableContent.add(cols.text());
}
}
<table>
<tr class="primera odd">
<th class="titulo ini" scope="row">2017/10/10</th>
<th class="titulo" scope="col">Demand (b.c)</th>
<th class="titulo" scope="col">Generation(1,234.56)</th>
<th class="titulo" scope="col">Motores diesel</th>
<th class="titulo" scope="col">Turbina de gas</th>
<th class="titulo" scope="col">Fuel + Gas</th>
<th class="titulo" scope="col">Ciclo combinado (3)</th>
<th class="titulo" scope="col">Generación auxiliar (4)</th>
</tr>
<tr class="primera odd">
<th class="titulo ini" scope="row">10102017T0000</th>
<th class="titulo" scope="col">Demand (B.C)</th>
<th class="titulo" scope="col">GENERATION(1234.56)</th>
<th class="titulo" scope="col">Motores diesel</th>
<th class="titulo" scope="col">Turbina%de%gas</th>
<th class="titulo" scope="col">Fuel y Gas(3)</th>
<th class="titulo" scope="col">Ciclo combinado</th>
<th class="titulo" scope="col">Generación auxiliar (4)</th>
</tr>
<tr class="primera odd">
<th class="titulo ini" scope="row">10-10-2017</th>
<th class="titulo" scope="col">Demand (b.c)</th>
<th class="titulo" scope="col">Generation(1234,56)</th>
<th class="titulo" scope="col">Motores diesel</th>
<th class="titulo" scope="col">Turbina de gas</th>
<th class="titulo" scope="col">Fuel y Gas</th>
<th class="titulo" scope="col">Ciclo combinado</th>
<th class="titulo" scope="col">Generación.auxiliar</th>
</tr>
</table>
表格:
2017/10/10需求(b.c)发电(1,234.56)摩托车柴油涡轮燃气燃料+天然气Ciclo combinado(3)GeneraciÃnn辅助(4)
10102017T0000需求(B.C)生成(1234.56)摩托车柴油Turbina%de%gas燃料y气体(3)Ciclo combinadoGeneraciÃnn辅助(4)
2017年10月10日需求(卑诗省)发电(1234,56)摩托柴油涡轮增压天然气燃料和天然气Ciclo combinadoGeneración.auxiliar
更正表格输出:
2017年10月10日需求(卑诗省)产生(1234,56)摩托车柴油发动机和汽油CICLO COMBINADOGENERACIóN.AUXILIAR
2017年10月10日需求(卑诗省)产生(1234,56)摩托车柴油发动机和汽油CICLO COMBINADOGENERACIóN.AUXILIAR
2017年10月10日需求(卑诗省)产生(1234,56)摩托车柴油发动机和汽油CICLO COMBINADOGENERACIóN.AUXILIAR
问题是,如何提取/格式化/解析给定的表,以使所有单元格完全相同并正确格式化?甚至有可能通过使用JSoup来完成此任务,还是有更好的解决方案?
我将不胜感激。