如何在ASP.NET中将原始XML写入Label

我从Web服务中获取了一块XML。 客户端希望在页面上的标签中看到此原始XML。 当我尝试这个:

lblXmlReturned.Text = returnedXml; 

只显示文本,没有任何XML标记。 我需要包含从Web服务返回的所有内容。

这是返回的XML的精简样本:

   Volkswagen false       false      
  

我该怎么做才能让它出现在屏幕上? 我注意到Stack Overflow在将XML放在scren上做得非常好。 我查看了源代码并使用了

标签。 这是我必须使用的东西吗? 

使用Mode设置为Encode比处理手动编码Label文本更容易

  

您需要首先对XML进行HtmlEncode (它会转义像<>这样的特殊字符):

 string encodedXml = HttpUtility.HtmlEncode(xml); Label1.Text = encodedXml; 

PRE标签中包围它将有助于保留格式,因此您可以这样做:

 string encodedXml = String.Format("
{0}

", HttpUtility.HtmlEncode(xml)); Label1.Text = encodedXml;

正如Bala R所提到的 ,你可以使用带有Mode="Encode"Literal控件,因为这会自动HtmlEncodes任何字符串。 但是,这也会对您添加到字符串中的任何PRE标记进行编码,这是您不想要的。 你也可以在CSS中使用white-space:pre ,它应该与PRE标签做同样的事情,我想。