1

我的代码成功地将 xml 文件转换为 csv,以逗号(,)结束创建的数据

样本数据

<Addy>
 <Rowinfo>
<LD>FLAT</LD>
<L>1</L>
<Th> Passage</Th>
</Rowinfo>
 <Addy> 

产生一个 csv 输出

FLAT,1,Passage,

打开此文件并添加一列以赋予其唯一 ID,例如 1,2,3...

1,FLAT,1,Passage,
2,FLAT,1,Passage,

最后的逗号消失了

 1,FLAT,1,Passage
 2,FLAT,2,okete

XSLT 可以在生成 csv 输出的过程中自动分配这些唯一编号吗?

4

2 回答 2

1

用于 XPath 的函数也可以在 XSLT 中使用。这三个中的一个可能会有所帮助:

  • fn:Id(又名 fn:element-with-id)
  • fn:Id-ref
  • fn:位置

最后一个看起来特别有希望。如果您相对于RowInfo节点执行它,您可能会从中获得一个干净的升序数值。

于 2012-09-12T15:46:28.660 回答
1

只需添加两行...

将此第二行添加到您的第一个模板...

<xsl:template match="/">
 <xsl:value-of select="'Id,'" />
 etc.

将此第二行添加到您的第二个模板...

<xsl:template match="*" mode="row">
 <xsl:value-of select="concat(position(),',')" />
 etc.

现在你得到 csv 输出,比如......

Id,LD,L,Th
1,FLAT,1, Passage

...其中第一列 ( 'Id' ) 是唯一 ID。(事实上​​,一个序数行号。)

于 2012-09-12T17:06:16.363 回答