我正在努力将 CSV 转换为 XML,尽管我有很多方法可以做到这一点,但我的要求是以这样一种方式进行,即将来可以在不更改任何代码的情况下更改映射。所以我们使用以下方法。我们正在使用 Apache camel 进行集成,因此 CSV 被骆驼开箱即用地转换,并作为List<List<String>>
数据提供,例如
{[header1,header2,header3],[1,2,3],[2,4,5]}
我需要将此列表数据转换为 XML 是已定义的形式,但由于我不能使用 java 映射,因此计划使用类似的方法将此列表转换为平面 XML 文件,XStream
而不是使用 xslt 映射原始 XML文件到 xslt,但是当我使用 XStream 将 List 转换为 XML 时,它会给出以下输出
<list>
<java.util.Arrays_-ArrayList>
<a class="string-array">
<string>Quantity</string>
<string>Price</string>
<string>Total</string>
<string>Date</string>
<string>ID</string>
<string>Name</string>
<string>Ref#</string>
</a>
</java.util.Arrays_-ArrayList>
<java.util.Arrays_-ArrayList>
<a class="string-array">
<string>4</string>
<string>1.13</string>
<string>4.52</string>
<string>9/4/2008</string>
<string>275</string>
<string>Blue Ink</string>
<string>49385730</string>
</a>
</java.util.Arrays_-ArrayList>
<java.util.Arrays_-ArrayList>
<a class="string-array">
<string>5</string>
<string>2.16</string>
<string>2.16</string>
<string>8/3/2008</string>
<string>229</string>
<string>Red Ink</string>
<string>20549348</string>
</a>
我的示例 CSV 是
Quantity,Price,Total,Date,ID,Name,Ref#
4,1.13,4.52,9/4/2008,275,Blue Ink,49385730
5,2.16,2.16,8/3/2008,229,Red Ink,20549348
所以似乎不可能使用 XSLT 将此原始 XML 映射到所需的 XML。有什么方法可以将此 List 数据转换为一些更美观的 XML 格式,以便我们可以将该 XML 与 XSLT 映射以避免任何代码更改。或者有没有其他更有效的方法可以将此列表转换为 XML 结构
提前致谢