1

私のコードはxmlファイルをcsvに正常に変換し、コンマ(、)で作成されたデータを終了します

サンプルデータ

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

のcsv出力を生成します

FLAT,1,Passage,

このファイルを開いて列を追加し、1,2,3...などの一意のIDを指定した場合。

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

末尾のコンマが消えて生成されます

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

XSLTは、csv出力を生成する過程で、これらの一意の番号を自動的に割り当てることができますか?

4

2 に答える 2

1

2行追加するだけです...

この2行目を最初のテンプレートに追加します...

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

この2行目を2番目のテンプレートに追加します...

<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 に答える
1

XPathで使用される関数は、XSLTでも使用できます。おそらく、これら3つのうちの1つが役立つ可能性があります。

  • fn:Id(別名fn:element-with-id)
  • fn:Id-ref
  • fn:position

その最後のものは特に有望に見えます。ノードに関連して実行すると、RowInfoおそらくそこからきれいな昇順の数値が得られます。

于 2012-09-12T15:46:28.660 に答える