2016-04-01 6 views
1

kayboluyor Genel soyut sınıf Transformatörde dönüştürme yöntemiyle ilgili bir sorunla karşı karşıyayım.xsl ve java stillerini kullanarak html'yi html'ye dönüştürürken html verilerini içeren Xml öğesi,

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

XSL:

Java e-posta oluşturmak gerekir, bu yüzden XSL ancak XML elemanlarının birini kullanarak HTML XML yukarıdaki Trafo sınıfını kullanarak ve dönüştürerek am HTML kodunu aşağıdaki gibi bulunur kullandığım aşağıdaki gibidir:

<?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> 

Şimdi e-posta font color kırmızı görünmüyorsa ve br etiketi de çalışmıyor, ancak bazı veriler aynı hattan görünmektedir.

Birisi bana yardım edebilir mi lütfen.

+0

Maalesef tüm html stilleri kayboluyor bu XSLT deneyin. – user3770726

+0

Sorunuzdaki XSLT'yi düzgün biçimlendirilmemiş olarak düzeltebilirsiniz. Eğer XSLT'yi tam olarak kullanıyor olsaydın, bir hata olurdu! ' 'kapanışının sonunda olması gerekiyor. Ayrıca, xsl: stylesheet'nin bir alt öğesi olarak geçerli olmadığı için 'html'' xsl: template' içinde olmalıdır. Teşekkürler –

cevap

0

xsl:value-of yalnızca bir düğümün metin değerini verir ve br veya font gibi herhangi bir alt öğeyi kopyalamaz. Burada kopyalamak için xsl:copy-of kullanıyor olabilirsiniz.

<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

Teşekkürler. İyi çalışıyor – user3770726

İlgili konular