2016-08-03 52 views
1

我目前的困境是通过XML文件(Java语言,JDOM)处理固定宽度文件。然而,我正在使用的文件在互联网上看到的例子并不典型。使用Java和XML模板处理固定宽度文件(JDOM)

我的数据的一个例子,我试图重新:

<table style="width:100%"> 
 
    <tr> 
 
    <th>Name</th> 
 
    <th>Date</th> 
 
    <th>Hobbies</th> 
 
    <th>Status</th> 
 
    </tr> 
 
    <tr> 
 
    <td>Jack</td> 
 
    <td>8/16/00</td> 
 
    <td>Video Games Fixing</td> 
 
    <td>Single</td> 
 
    </tr> 
 
    <tr> 
 
    <td></td> 
 
    <td></td> 
 
    <td>Computers Reading</td> 
 
    <td></td> 
 
    </tr> 
 
    <tr> 
 
    <td>Jill</td> 
 
    <td>9/9/03</td> 
 
    <td>Skiing Cooking</td> 
 
    <td>Married</td> 
 
    </tr> 
 
</table>

在XML模板文件,我指定数据的POS和len所以它是正确映射,但我得到一个字符串尝试处理溢出到下面一行的行时出现“界外”异常。看起来源文件会为这些空白空间中的或之后的空值保留空值(可能为空,那么在该行的内容之后为空,我的观察结果基于它在记事本中的处理方式)。如何处理固定宽度文件中的一个初始值的一列中的多行数据,我是否需要查找确切的长度?

一旦收集到数据,就会根据XML模板指定一个路径,指定数据应放入新文件的位置。

回答

0

经过一番更多的研究,我能够确定一个修复。在XML模板文件中,您将包含数据“colspan”和“rowspan”的映射。然后在Java中,您将创建一种方法来处理这两个新值,以便在目标文件中获取所有数据,并且不会引发任何超出边界的异常。