2016-04-01 10 views
1

私はpublic abstract class Transformerのtransformメソッドの問題に直面しています。xslとjavaスタイルを使用してxmlをhtmlに変換するとhtmlデータを含むXml要素が消えています

私はJavaで電子メールを生成する必要があるので、私は上記のtranformerクラスを使用し、XSLを使ってXMLをHTMLに変換していますが、XML要素の一つは、以下のようなHTMLコードが含まれています

<data> 
    <message> 
    <font color="red">This is font color</font><br></br> 
    <p>this is paragraph</p> 
</message> 
</data> 

XSL私が使用し以下の通りです:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<html> 
    <body> 

<xsl:template match="/"> 
     <td><xsl:value-of select="/data/message"/></td> 
</xsl:template> 
</xsl:stylesheet> 
    </body> 
    </html> 

今すぐメールフォントの色の赤が表示されないと、BRタグも機能していないが、一部のデータが同じ行から表示されています。

誰かが私を助けてくれますか?

+0

申し訳ありませんが、すべてのHTMLスタイルが消えて、このXSLTを試してみてください。 – user3770726

+0

あなたの質問では、整形式ではないので、XSLTを修正できますか?そのXSLTを正確に使用していたのであれば、エラーが発生します。終了する ''は最後にする必要があります。また、 'html'は' xsl:stylesheet'の子ではないので 'xsl:template'の内部になければなりません。おかげで –

答えて

0

xsl:value-ofは、ノードのテキスト値のみを出力し、brまたはfontのような子孫要素はコピーしません。ここではxsl:copy-ofを使用している可能性があります。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="/"> 
    <html> 
     <body> 
     <table> 
      <tr> 
      <td><xsl:copy-of select="/data/message/node()"/></td> 
      </tr> 
     </table> 
     </body> 
     </html> 
    </xsl:template> 
</xsl:stylesheet> 
+0

ありがとうございました。うまく動作しています – user3770726

関連する問題