2016-08-03 83 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中,您將創建一種方法來處理這兩個新值,以便在目標文件中獲取所有數據,並且不會引發任何超出邊界的異常。