解决方法
我本来希望像Dennis提到的那样(使用< asp:Xml>控件).但这需要使用XSL样式表来格式化XML. Xml控件不允许将HTML编码的字符串作为DocumentContent属性传递,并且不公开任何编码内容的方法.
正如我在对Dennis的帖子的评论中提到的,msxml.dll中包含的defaultss.xsl不公开(并且不符合XSL 1.0).但是,这里发布了一个公开转换的版本:http://www.dpawson.co.uk/xsl/sect2/microsoft.html#d7615e227.我已经测试了它并且它有效,虽然有点儿麻烦.
因此,我认为最简单的方法是使用< asp:Literal>控制将预编码的XML输出到页面.以下示例演示了此方法:
<%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Xml" %> <script runat="server"> protected void Page_Load(object sender,EventArgs e) { string theXML = Server.HtmlEncode(File.ReadAllText(Server.MapPath("~/XML/myxmlfile.xml"))); lit1.Text = theXML; } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <pre> <asp:Literal ID="lit1" runat="server" /> </pre> </div> </form> </body> </html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。