【发布时间】:2021-01-20 21:40:45
【问题描述】:
我有一个包含特殊字符 (&) 的 XML。输出值是从数据库中获取的,需要保持原样。
以下是 XML 的示例
<Data>
<fname>Patrick</fname>
<lname>Lewis</lname>
<resortloc>the pearl & shine</resortloc>
</Data>
这里的问题是&。这是引发错误 -
解析 EntityName 时出错。
我还创建了一个 C# 函数,用于将 & 字符替换为有效字符,请参见下文。但是当我运行代码时,我仍然得到错误。有人可以帮忙吗。谢谢
public static string EscapeXMLValue(string b)
{
return b.Replace( "&","&");
}
下面是我的 XSLT 代码
<xsl:value-of select= "cs:EscapeXMLValue(resortloc)" />
请帮忙。谢谢。
【问题讨论】:
-
你需要用 "and" 替换这个 "&" 吗?但是你仍然在 Replace( "&","&") 中使用它,只需这样做 return b.Replace( "&" "和");
-
你说你“有一个 XML”,但你没有。您有一个非 XML。 XSLT 只能处理格式良好的 XML。
-
如果您试图在 XSL 中手动转义您的字符串值,您将做错事。默认情况下,XSL 将生成有效的正确转义的 XML,如果您不妨碍它的话。