2016-06-27 7 views
0

手順で返されたデータセット結果(すべてのデータセットの結果が同じ出力形式)に基づいてワークシートを動的に作成したいと考えています。 2結果を返す上記の例ではXSLTを使用してワークシートを動的に作成する方法は?

XML : 

<NewDataset> 
<Table> 
<record> 
<id>1</id> 
<name>sdf</name> 
<record> 
<record> 
<id>2</id> 
<name>sdfooop</name> 
</record> 
</Table> 
<Table1> 
<record> 
<id>1</id> 
<name>sdffff</name> 
<record> 
<record> 
<id>2</id> 
<name>sdfwerwerwe</name> 
</record> 
</Table1> 

ストアドプロシージャは、表、表1を設定する。(これは、設定されたカウントが変化してもよい結果)どのように動的にXSLTを使用して、同じブック内のワークシートを作成する方法を教えしなさい。予め

おかげ..大まか

答えて

1

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 

<xsl:template match="/NewDataset"> 
    <Workbook> 
     <xsl:for-each select="*[starts-with(name(), 'Table')]"> 
      <Worksheet> 
       <xsl:for-each select="record"> 
        <Row> 
         <xsl:for-each select="*"> 
          <Cell> 
           <xsl:value-of select="." /> 
          </Cell> 
         </xsl:for-each> 
        </Row> 
       </xsl:for-each> 
      </Worksheet> 
     </xsl:for-each> 
    </Workbook> 
</xsl:template> 

</xsl:stylesheet> 
+0

おかげ@michael .. – Sravanti

+0

SP(表、表1の出力が異なる)によって返された出力の仮定する異なるフォーマット(表3、表4の場合、表5 ...などの出力は同じです)。このシナリオでは多くのことを学んだが、混乱してしまいました。 – Sravanti

+0

それぞれの 'TableN'が子の' record'要素を持っている限り、違いはないと思います。セルの要素名はここでは役割を果たしません。 –

関連する問題