如何在带有xsl的标签中放置html文本?

时间:2010-06-15 07:43:11

标签: xslt

假设我有一个xml文档,我有一个包含html文本的标记。 我想用xsl显示这个文本。 html标记为htmlInfo

我认为我可以将它放在标签中(在xsl中),但它不起作用。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可能需要将其编码为XML,因此它看起来像这样:

<tableInfo> 
    <id>1</id> 
    <htmlInfo>
        &lt;html xmlns='w3.org/1999/xhtml'&gt;&lt;head &gt;&lt;/head&gt; &lt;body&gt;&lt;p&gt;xzxzxzxzxz&lt;/p&gt; &lt;p&gt;hghghgh&lt;/p&gt; &lt;/body&gt;&lt;/html&gt;
    </htmlInfo>
<tableInfo>

所有&lt;已将字符替换为&lt;并且所有&gt;字符已替换为&gt;。一个&amp;应该是&amp; ...如果您使用的是.NET,请不要使用String.Replace,而是使用System.Xml命名空间来正确构建XmlDocument。它会为你做编码。 例如,在VB.Net中:

Dim stringBuilder As New StringBuilder() 
Dim stringWriter As New StringWriter(stringBuilder) 
Dim xmlTextWriter As New XmlTextWriter(stringWriter) 

xmlTextWriter.WriteStartElement("item") 
xmlTextWriter.WriteAttributeString("id", id.ToString()) 
xmlTextWriter.WriteAttributeString("key", key) 
xmlTextWriter.WriteValue(value) 
xmlTextWriter.WriteEndElement() 

Return stringBuilder.ToString()

然后,您的XSL应该能够处理它,例如,如果您将转换输出到HTML文件,那么&lt;和其他内容应该正确地为'&lt;'在输出中,您的HTML应该有效。