2012-02-08 26 views
1

XML出力をかなりのHTMLに再フォーマットしようとしているSSIS XMLタスクがあります。ここにXMLがありますSSIS XML XSLT変換タスク

<RootNode><row><ProcessName>RefreshDbnSr1FromP01</ProcessName><StartDateAndTime>2011-09-21T15:13:56</StartDateAndTime><AverageSeconds>2562</AverageSeconds></row><row><ProcessName>RefreshDbnSr1FromP01</ProcessName><StartDateAndTime>2011-09-21T15:29:45</StartDateAndTime><AverageSeconds>2562</AverageSeconds></row><row><ProcessName>RefreshDbnSr1FromP01</ProcessName><StartDateAndTime>2011-09-21T15:44:07</StartDateAndTime><AverageSeconds>2562</AverageSeconds></row></RootNode> 

そして次に私が変換するために使用しているXSLTがあります。

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="/RootNode"> 
    <html> 
     <body> 
     <table border="1"> 
      <tr bgcolor="#AAAAAA"> 
      <th>ProcessName</th> 
      <th>StartDateAndTime</th> 
      <th>AverageSeconds</th> 
      </tr> 
      <xsl:for-each select="row"> 
      <tr> 
       <td> 
       <xsl:value-of select="ProcessName" /> 
       </td> 
       <td> 
       <xsl:value-of select="StartDateAndTime" /> 
       </td> 
       <td> 
       <xsl:value-of select="AverageSeconds" /> 
       </td> 
      </tr> 
      </xsl:for-each> 
     </table> 
     </body> 
    </html> 
    </xsl:template> 
</xsl:stylesheet> 

IEでは問題なく動作しているようです。 (ヘッダーを追加すると機能します)しかし、XMLタスクが出力する出力はこのようになります。

<?xml version="1.0" encoding="utf-8"?>RefreshDbnSr1FromP012011-09-21T15:13:562562RefreshDbnSr1FromP012011-09-21T15:29:452562RefreshDbnSr1FromP012011-09-21T15:44:072562 

助けてください。

おかげで、要素の前に、あなたのXSLTに次の行を追加

+0

あなたのスタイルシートを見た –

答えて

2

試してみてください。

<xsl:output method="html" indent="yes"/> 

は、このブログ記事のサンプルスタイルシートを参照してください:XMLタスクは決してように見える http://geekswithblogs.net/LifeLongTechie/archive/2011/02/02/using-ssis-to-send-a-html-e-mail-message-with-built-in.aspx

+0

リンクをありがとう。私はそこにある指示を使って終わり、XMLをPATH、ROOTに変更しました。この例でもxsltスキーマははるかに単純でした。 xsl:出力を追加しても役に立たなかったようです。今はチャンピオンのように働く。 –