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

Handling a Fixed-Width File with Java and an XML Template (JDOM)

我目前的困境是通过 XML 文件(Java 语言,JDOM)处理固定宽度的文件。然而,我正在使用的文件对于在 Internet 上看到的示例来说并不典型。

我尝试重新创建的数据示例:

<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 模板为新文件中的数据指定路径。

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