在html SPAN标记中显示XML字符串

时间:2011-02-23 16:06:30

标签: xml html

我在数据集中有一些字符串值。在我的复合控件中,在RenderContent中,我使用span标签将数据集值添加到html表格单元格。它工作得很好,直到我的数据集中有一个xml字符串。

在我的RenderControl中,我的代码类似于:

output.Write(@"<span id=""valueSpan{0}"" action=""edit"" type=""text"">{1}</span>", this.ID + row["ID"], row["Value"]);

row [“Value”]包含字符串值:

<?xml version="1.0" encoding="utf-8"?><testdata>need to display this xml string in span</testdata>

我看到的结果是“需要在span中显示此xml字符串”,而不是将XML数据显示为“<?xml version="1.0" encoding="utf-8"?><testdata>need to display this xml string in span</testdata>”。我想我需要让html知道这只是一个价值。但是如何???

3 个答案:

答案 0 :(得分:1)

您需要转义<>个字符,将其转换为相应的字符实体&lt;&gt;。使用Server.HtmlEncode()为您执行此操作:

output.Write(
   @"<span id=""valueSpan{0}{1}"" action=""edit"" type=""text"">{2}</span>",
   this.ID, row["ID"], Server.HtmlEncode(row["Value"].ToString())
);

(另请注意,我删除了连接this.ID + row["ID"]以支持string.Format()样式语法。)

答案 1 :(得分:1)

您似乎正在使用C# 我认为您应该使用HtmlEncode对XML数据进行编码,以便您能够显示它。 http://msdn.microsoft.com/en-us/library/w3te6wfz.aspx

答案 2 :(得分:0)

您是否尝试过转发&lt;&gt;将字符添加到字符串之前的字符。 (转义码是&lt;和&gt;