xml在asp.net页面中的多种展示方法

XML已经被广泛应用在各个方面,但是在 .net应用中,页面展示的内容并不是很多。
        XML在.net页面中的展示,这里我说的意思是,利用XML的多样性,在asp.net页面中展示多样性的图形、文本等。例如我们可以在.net页面中,展示丰富的数学公式、物理公式、特殊图形符号,表现为具有多重组合的多样式的显示内容。
        在这里,介绍几种XML展示的内容。

方法一:直接向页面中写,让浏览器解释XML语法

   Response.Write("<?xml version='1.0'?>");
   Response.Write("<?xml:stylesheet type='text/xsl' href='style/test2_xsl.xsl'?>");
   Response.Write("<test name='考研' timing='90' score='100'>");
   Response.Write("<section name='选择题'>");

方法二:由.net自己解释并输出显示内容

   XPathDocument doc=new XPathDocument(Server.MapPath("aa.xml"));
   XslTransform transForm=new XslTransform();
   transForm.Load(Server.MapPath("style/aa.xsl"));
   FileStream fs=new FileStream(Server.MapPath("bb.xml"),FileMode.OpenOrCreate);
   XPathNavigator nav=doc.CreateNavigator();
   transForm.Transform(nav,null,fs);
   fs.Close();

方法三:生成XML文件,读取,由浏览器解释XML语法

略。我省略的原因是,把XML内容用文件操作写入是非常简单的。把已经生成的文件可以轻易的读取出来然后用Response.Write()方法写入页面也是很简单的。

方法四:用转换工具转换,然后读取转换工具的结果写入页面

微软给我们提供了非常好的转换工具,msxsl.exe可以搜索下,这是一个命令行下的转换工具

   Process myCmdProcess = new Process();
   //当进程退出时要处理的代码,注册一个事件
   myCmdProcess.Exited += new System.EventHandler(myCmdProcess_exited);
   //要调用的应用程序cmd.exe
   myCmdProcess.StartInfo.FileName               = "cmd";
   //将参数传给要调用的应用程序 /C 执行字符串指定的命令然后终断 ,调用ipconfig ,同时将ipconfig处理的结果输出到应用程序文件夹下test.txt.
   //此文件不存在,则自动创建
   myCmdProcess.StartInfo.Arguments              = @"/c D:/work/XMLtest/msxsl.exe D:/work/XMLtest/aa.xml D:/work/XMLtest/style/aa.xsl -o d:/work/xmltest/bb.xml";
   myCmdProcess.StartInfo.RedirectStandardOutput = true;
   myCmdProcess.EnableRaisingEvents        = true;
   myCmdProcess.StartInfo.UseShellExecute        = false;
   myCmdProcess.StartInfo.CreateNoWindow         = false;
   myCmdProcess.EnableRaisingEvents               =true;
   myCmdProcess.Start();

如果在应用程序中,可以使用事件判断是否生成结束,如果在页面中我试验了很多次事件都不奏效,于是采用了非常呆的办法 Thread.Sleep(1000); 虽然呆,不过奏效,哈哈。

生成了,把它读出来就可以了,然后写到页面。

你是不是觉得我写的这几种方法没多大区别?
其实,他们的区别很大,在使用的过程中我发现.net的XML展示很不完善,但是浏览器却很强任何转换都可以自如实现。所以不要太依赖.net,更多的考虑让浏览器做一部分工作才是真谛。
最后一种办法可谓是完美的,因为.net在做深层次的转换过程中有缺陷,用专用工具就什么都可以转了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET 页面出现文乱码的问题通常是由于编码设置不正确导致的。以下是一些常见的解决方法: 1. 在页面的 <head> 标签添加以下 meta 标签来指定页面的字符编码: ```html <meta charset="UTF-8" /> ``` 这会将页面的字符编码设置为 UTF-8,以支持文字符。 2. 在 Web.config 文件添加以下配置来设置全局的字符编码: ```xml <configuration> <system.web> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web> </configuration> ``` 这样可以确保请求和响应的字符编码都被设置为 UTF-8。 3. 如果您的数据库存储了文数据,并且在从数据库检索数据时出现了乱码,您需要确保数据库的字符集设置正确,并且数据库连接字符串指定了正确的字符编码。例如,在连接字符串添加 charset=utf8 参数来指定使用 UTF-8 编码: ```csharp string connectionString = "Data Source=myDataSource;Initial Catalog=myCatalog;User ID=myUsername;Password=myPassword;charset=utf8"; ``` 4. 确保您在处理文字符串时使用了正确的编码方式。例如,在读取和写入文件、进行网络通信或者进行字符串处理操作时,需要使用正确的编码方式来保证文字符的正确显示。 如果上述方法仍然不能解决您的问题,请提供更多具体信息,例如您遇到问题的具体场景和代码片段,以便我能够给出更准确的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值