使用Java和XML模板处理固定宽度文件(JDOM)

时间:2016-08-03 13:59:41

标签: java xml text jdom

我当前的困境是通过XML文件(Java语言,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> 
&#13;
&#13;
&#13;

在XML模板文件中我指定了数据的pos和len,因此它被正确映射,但是当我尝试处理溢出到下面的行时,我得到一个String Out of Bounds Exception。看起来源文件将为之间或之后的那些空空格保存空值(在该行的内容之后可能为空,然后为null,我的观察基于它在记事本中的处理方式)。如何在一列中处理固定宽度文件中的一个初始值的多行数据,是否需要找到确切的长度?

收集数据后,将根据XML模板指定数据在新文件中的位置。

1 个答案:

答案 0 :(得分:0)

经过一些研究,我能够确定一个修复方案。在XML模板文件中,您将包含数据的“colspan”和“rowspan”的映射。然后在Java中,您将创建一种方法来处理这两个新值,以便在目标文件中获取所有数据,而不会抛出任何Out of Bounds异常。