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

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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在做深层次的转换过程中有缺陷,用专用工具就什么都可以转了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有