【发布时间】:2011-05-27 02:36:30
【问题描述】:
我们在 unix 上有多个 xml 文件。我们需要将它们转换成平面文件。我们使用 C 对一级 xml 文件进行了解析(使用 C 是因为 C 可以与 Teradata fastload 通信,这是我们使用 inmod 的目标框,并且它将在一次解析中完成,否则在其他语言中我们需要进行两次解析一种用于转换为平面文件,一种用于加载 ito teradata)。即下面的文件
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
</book>
转换成
bk101~Gambardella, Matthew~XML Developer's Guide~Computer~44.95~
这是我们通过在 C 中解析文件来实现的。但是在看到下面的 xml 文件的原始格式之后。 (请不要将其视为必需文件。我只是提供一个想法)
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<modified>2010-01-02</modified>
<modified>2010-01-03</modified>
<price>44.95</price>
</book>
这似乎应该转换为两条记录。
bk101~Gambardella, Matthew~XML Developer's Guide~Computer~2010-01-02~44.95~
bk101~Gambardella, Matthew~XML Developer's Guide~Computer~2010-01-03~44.95~
但是现在我们感觉我们的 C 代码对于这个 req 来说会很复杂。因此,我们正在寻找可以在 unix 上轻松使用的其他选项。任何人都可以给我们任何适用于 unix 的不同语言/选项的工作示例代码吗?
【问题讨论】: