如何在Label中显示xml字符串?

时间:2014-09-10 14:01:45

标签: c# asp.net xml linq-to-xml

我正在尝试获取下面的HTML方法,对字符串进行编码并将其显示在标签上,但我在客户端继续获取空白页面。

我检查了viewsource,它也没有显示HTML输出。

public partial class About : Page
  {
    protected void Page_Load(object sender, EventArgs e, string data)
    {
        if (!IsPostBack)
        {
            string a = createXMLPub(data);
            // Label1.Text = HttpUtility.HtmlEncode(a);
            Label1.Text = Server.HtmlEncode(a);
        }
    }

public static string createXMLPub(string data )
{
    XElement xeRoot = new XElement("pub");
    XElement xeName = new XElement("name", "###");
    xeRoot.Add(xeName);
    XElement xeCategory = new XElement("category", "#####");
    xeRoot.Add(xeCategory);
    XDocument xDoc = new XDocument(xeRoot);
    data = xDoc.ToString();
    return data;

}

HTML

 <asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
 </asp:Content>

请告知我这个代码可能出错的地方。非常感谢

1 个答案:

答案 0 :(得分:3)

所以:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string a = createXMLPub();
            Label1.Text = Server.HtmlEncode(a);
        }
    }

    public static string createXMLPub()
    {
        XElement xeRoot = new XElement("pub");
        XElement xeName = new XElement("name", "###");
        xeRoot.Add(xeName);
        XElement xeCategory = new XElement("category", "#####");
        xeRoot.Add(xeCategory);
        XDocument xDoc = new XDocument(xeRoot);

        return xDoc.ToString();
    }

... H个