格式化xml订阅源的文本

时间:2010-09-20 11:13:33

标签: xml asp-classic

我有一个.asp页面脚本作为xml页面,但我有一些html实体的问题。我有一个带有产品的饲料,显然是产品描述。

以下代码正确格式化'&'作为'&'但我还需要捕获已注册商标的实例并将其转换为html实体。

Dim varOrgText, varDisplayText
If (rsproducts.Fields.Item("prod_description").Value) <> "" Then
varOrgText = (rsproducts.Fields.Item("prod_description").Value) 
varFormattedOrgText = (Replace(varOrgText, "&", "&amp;"))
varDisplayText = "<![CDATA[" & varFormattedOrgText & "]]>"
End If

我试着抓住&符号和注册标记;

Dim varOrgText, varDisplayText
If (rsproducts.Fields.Item("prod_description").Value) <> "" Then
varOrgText = (rsproducts.Fields.Item("prod_description").Value) 
varFormattedOrgText = (Replace(varOrgText, "&", "&amp;"))
varFormattedOrgText2 = (Replace(varOrgText, "®", "&#174;"))
varDisplayText = "<![CDATA[" & varFormattedOrgText2 & "]]>"
End If

但显然它不起作用,所以我正在寻找一种更简单的格式化描述的方法。

感谢任何帮助,使这更容易一点。 :)

谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码中有一点错误:您正在替换varOrgText中的注册商标,而不是varFormattedOrgText

Dim varOrgText, varDisplayText
If (rsproducts.Fields.Item("prod_description").Value) <> "" Then
  varOrgText = (rsproducts.Fields.Item("prod_description").Value) 
  varFormattedOrgText = (Replace(varOrgText, "&", "&amp;"))
  varFormattedOrgText2 = (Replace(varFormattedOrgText, "®", "&#174;"))
  varDisplayText = "<![CDATA[" & varFormattedOrgText2 & "]]>"
End If

除此之外,您可以尝试使用server.HTMLEncode()来包含所有HTML,但我认为在<![CDATA[]]>块之间没有必要。