假设我有一个xml文档,我有一个包含html文本的标记。
我想用xsl显示这个文本。
html标记为htmlInfo
。
我认为我可以将它放在标签中(在xsl中),但它不起作用。 我该怎么办?
答案 0 :(得分:1)
您可能需要将其编码为XML,因此它看起来像这样:
<tableInfo>
<id>1</id>
<htmlInfo>
<html xmlns='w3.org/1999/xhtml'><head ></head> <body><p>xzxzxzxzxz</p> <p>hghghgh</p> </body></html>
</htmlInfo>
<tableInfo>
所有&lt;已将字符替换为<
并且所有&gt;字符已替换为>
。一个&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;'在输出中,您的HTML应该有效。