2017-01-24 35 views
0

目前我正在尝试使用xslt中的select-value命令从csv中提取数据。我对xslt完全陌生,在尝试读取值的同时,我可以为string属性执行此操作,但对于日期和数字属性,我无法执行此操作。请在下面找到我的当前代码和相关输出。有人可以帮助我如何从csv中读取日期/编号字段。 代码:XSLT:选择使用日期属性的值

<cas:label>HR data</cas:label>   
      <cas:property> 
        <cas:key>CustomerId</cas:key> 
        <cas:value> 
         <xsl:value-of select="a/string[position()=1]"/> 
        </cas:value> 
       </cas:property> 
       <cas:property> 
        <cas:key>ReportingPeriod</cas:key> 
        <cas:value> 
         <xsl:value-of select="a/string[position()=4]"/> 
        </cas:value> 
       </cas:property> 
       <cas:property> 
        <cas:key>LeaseCarStartDate</cas:key> 
        <cas:value> 
         <xsl:value-of select="a/date[position()=5]"/> 
        </cas:value> 
       </cas:property> 

输出如下:

<cas:label>HR data</cas:label> 
     <cas:property> 
     <cas:key>CustomerId</cas:key> 
     <cas:value>RD2</cas:value> 
     </cas:property> 
<cas:property> 
     <cas:key>ReportingPeriod</cas:key> 
     <cas:value>12-2016</cas:value> 
     </cas:property> 
<cas:property> 
     <cas:key>LeaseCarStartDate</cas:key> 
     <cas:value/> 
     </cas:property> 
+0

请发布您的XSLT。 – potame

+0

XSLT需要一个XML文档作为输入,而不是CSV文件。如果您的CSV数据实际上嵌入在XML文档中,如果您显示输入XML,它可能会有所帮助。谢谢! –

回答

0

需要看到的输入数据。

它看起来不像CSV。

然而要注意

select=a/date[position()=5] 

选择第五日期元素,我从你的问题怀疑只有一个。