如何从文本文件中读取特定列的行值,并使用SAX解析器和java将值分配给xml元素
我有如下文本文件。 每列由一个选项卡分隔 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 物料销售组织区渠道描述1描述2 Prdt。赫拉希。计量单位毛重 证书2.1 2092 11证书2.1 220242200020000 EA 0.000 0.000 KG 证书2.2 2092 11证书2.2 220242200020000 EA 0.002 0.002 KG 0.070 包装_ECC2092 11包装_ECC220242200020000每件0.000 0.000千克 行程时间ECC 2092 11行程时间ECC 22024320002000 EA 0.000 0.000 KG 我必须阅读这个文件并将这个文本文件转换成xml 我使用了JavaSAX解析器来生成XML 我的示例xml如下所示如何从文本文件中读取特定列的行值,并使用SAX解析器和java将值分配给xml元素,java,xml,sax,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
<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,在“Material”列下,DistributionChannel元素的值为11,在第三列下
我需要为文本文件中的许多行生成元素集。那么,有人能给我建议实现这一目标的最佳方法吗
我有一个问题,SAX解析器比JAXB好吗?我的输入文本文件包含69列和大约6000行,因此我选择了SAX,因为它的性能更好。
创建一个将所有列值作为属性的POJO类,读取文件并将值分配给java对象,然后使用JAXB从java对象生成xml,这是一个好主意吗?请建议您是否尝试过:我有文本文件,而不是csv文件,每一列都用制表符分隔。我需要生成与文件中的行数相等的xml元素。为什么您认为sax的性能更好?它很难使用。。。而且你的代码很可能是冗长的,难看的,而且很难维护。。。