2

我正在尝试将 xml 文件转换为 csv 文件。我有一个这样的输入 xml 文件:

<Row>
  <Cell>
    <Data Type="String" >START</Data>
  </Cell>
  <Cell>
    <Data Type="DateTime" >2013-01-15T21:30:42</Data>
  </Cell>
  <Cell>
    <Data Type="String" ></Data>
  </Cell>
  <Cell>
    <Data Type="String" >Start 'suite8'</Data>
  </Cell>
  <Cell>
    <Data Type="String" >Test 'suite8' started</Data>
  </Cell>
  <Cell>
    <Data Type="String" ></Data>
  </Cell>
</Row>
<Row/>
<Row>
  <Cell>
    <Data Type="String" >START_TEST_CASE</Data>
  </Cell>
  <Cell>
    <Data Type="DateTime" >2013-01-15T21:30:42</Data>
  </Cell>
  <Cell>
    <Data Type="String" ></Data>
  </Cell>
  <Cell>
    <Data Type="String" >Start 'case1'</Data>
  </Cell>
  <Cell>
    <Data Type="String" >Test Case 'case1' started</Data>
  </Cell>
  <Cell>
    <Data Type="String" >case1</Data>
  </Cell>
</Row>

我对标签<Data Type="String" ></Data>. <Row>此外,当标签出现时,应该开始一个新行。

我想要的输出 csv 文件应该如下所示:

START,2013-01-15T21:30:42,,Test 'suite8' started 

START_TEST_CASE,2013-01-15T21:30:42,,Start 'case1',Test Case 'case1' started,case1

我希望这足够清楚,非常感谢任何帮助:) 谢谢!

4

2 回答 2

2

看看 xslt 样式表和xsltproc命令。如果它只是无条件地将所有数据转换为来自单元格标记的逗号分隔值的行,那么它是一个相对简单的样式表。

快速搜索得到以下结果:XML to CSV Using XSLT 对您的 xml 进行一些修改后,它应该可以满足您的需要。

于 2013-01-16T21:57:40.977 回答
0

使用 Bash 解析 XML 之前已在此处解决:

如何在 Bash 中解析 XML?

也就是说,这似乎是一种痛苦的生活方式。

于 2013-01-16T21:46:42.980 回答