加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在ASP.NET页面上显示XML

发布时间:2020-12-16 00:05:28 所属栏目:asp.Net 来源:网络整理
导读:我有一个包含使用LinqtoXML的XML文档的字符串 在asp.net页面上显示它的最佳方式是什么. 解决方法 我本来希望像Dennis提到的那样(使用 asp:Xml控件).但这需要使用XSL样式表来格式化XML. Xml控件不允许将HTML编码的字符串作为DocumentContent属性传递,并且不
我有一个包含使用LinqtoXML的XML文档的字符串

在asp.net页面上显示它的最佳方式是什么.

解决方法

我本来希望像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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读