如何在datalist中显示xml

时间:2013-06-12 13:52:06

标签: c# asp.net

我需要从sql server数据库中读取数据 - 它有一个xml类型的列。我必须将数据绑定到datalist中的标签,如下所示

<ItemTemplate>
   <strong>PostedXml: </strong>
   <asp:Label ID="PostedXmlLabel" runat="server" Text='<%# Eval("PostedXml") %>' />      
</ItemTemplate>

读取数据时,标签不会显示。只有值才会呈现。我们如何在标签控件上显示带有标签的完整xml?

感谢

2 个答案:

答案 0 :(得分:1)

理想情况下,您应该能够Encode XML,以便在屏幕标记上呈现所有内容。

尝试替换

Text='<%# Eval("PostedXml") %>'

Text='<%# System.Web.HttpUtility.HtmlEncode((string)Eval("PostedXml")) %>'

或者,如果您正在使用VB,请尝试以下操作:

Text='<%# System.Web.HttpUtility.HtmlEncode(DirectCast(Eval("PostedXml"), String)) %>'

答案 1 :(得分:0)

有一个XML控件 <asp:xml>  您可以使用而不是Label,但它需要使用XSLT进行格式化。 另一种选择是使用<asp:Literal>控件或<asp:Text>,这将需要对xml进行编码。使用Server.HtmlEncode