如何从文本文件中读取特定列的行值,并使用SAX解析器和java将值赋给xml元素

时间:2017-05-09 09:23:21

标签: java xml sax

我有如下文本文件。 每个列由选项卡

分隔
Material    Sales Org   Dist. Chanl Description 1   Description 2   Prdt. Hirachy.  UoM Gross Weight    
CERTIFICATE 2.1 2092    11  CERTIFICATE 2.1     220242200020002000  EA  0.000   0.000   KG          
CERTIFICATE 2.2 2092    11  CERTIFICATE 2.2     220242200020002000  EA  0.002   0.002   KG  0.070   
PACKAGING_ECC   2092    11  PACKAGING_ECC       220242200020002000  EA  0.000   0.000   KG          
TRAVEL_TIME_ECC 2092    11  TRAVEL_TIME_ECC     220243200020002000  EA  0.000   0.000   KG

我必须阅读此文件并将此文本文件转换为xml。

我使用Java sax解析器生成XML。

我的样本xml如下所示

<each_record>
        <category>test category</category>
        <action>add</action>
        <table_name><![CDATA[abc_2092]]></table_name>
        <PartNumber><![CDATA[CERTIFICATE 2.1]]></PartNumber>
       <DistrChannel><![CDATA[11]]></DistrChannel>

    </each_record>

但我一直坚持从上面的文本文件中读取特定列的特定行值并分配给xml元素。

例如:在上面的例子中,partNumber元素的值为CERTIFICATE 2.1,它位于列#34; Material&#34;对于DistributionChannel元素值为11,它位于第三列。

我需要为文本文件中的多个行生成元素集。那么有人会建议我实现它的最好方法吗?

我有一个问题,SAX解析器比JAXB更好吗?我的输入文本文件包含69列和大约6000行,因此我选择了SAX,因为它的性能更好。 创建一个包含所有列值作为属性的POJO类,读取文件并将值分配给java对象然后使用JAXB从java对象生成xml是个好主意吗?请建议

0 个答案:

没有答案
相关问题