我正在尝试执行XSLT以生成XML格式的Excel工作表。
输入XML
<financials-as-of>10/22/2018</financials-as-of>
<nobs>
<nob>
<label-nob>NOB 71</label-nob>
</nob>
<nob>
<label-nob>NOB 70</label-nob>
</nob>
</nobs>
预期产量
<Cell ss:MergeDown="0">
<Data ss:Type="String">NOB 71</Data>
<NamedCell ss:Name="LABEL_NOB">
</NamedCell>
</Cell>
<Cell ss:MergeDown="0">
<Data ss:Type="String">NOB 70</Data>
<NamedCell ss:Name="LABEL_NOB">
</NamedCell>
</Cell>
XSLT
<xslo:template match="d:nob">
<xsl:for-each select="//ss:Cell[ss:NamedCell/@ss:Name='LABEL_NOB'][1]">
<!-- Copy the Row element -->
<xslo:value-of select="d:label-nob"/>
</xsl:for-each>
</xslo:template>
如果输入的xml有两个项目,我已经重复了两次Cell值。
答案 0 :(得分:-1)
跟随XSL为我工作,以获得期望的XML
<xsl:template match="/">
<xsl:template>
<Cells>
<xsl:for-each select="data/nobs/nob">
<Cell MergeDown="0">
<Data Type="String">
<xsl:value-of select="label-nob" />
</Data>
<NamedCell Name="LABEL_NOB" />
</Cell>
</xsl:for-each>
</Cells>
</xsl:template>
</xsl:template>
对于以下XML,
<data>
<financials-as-of>10/22/2018</financials-as-of>
<nobs>
<nob>
<label-nob>NOB 71</label-nob>
</nob>
<nob>
<label-nob>NOB 70</label-nob>
</nob>
</nobs>
</data>
希望您得到了预期的答案 谢谢