单位需要更新一下以前的新闻系统,需要与现代社会接轨,因此开始研究了一下XML来存储新闻的方法。 找到了网上流传的一段很有名的读取XML文件作为新闻的方法,代码如下: <%@ Import Namespace="System"%> <%@ Page Language="C#" Debug="true" codepage="936"%> <%@ Import Namespace="System.IO" %> <%@ Assembly Name="System.Xml" %> <%@ Import Namespace="System.Xml.Xsl" %> <html> <head> <title> </title> <script language="c#" runat="server"> public string xslt() { StringWriter writer = new StringWriter(); XmlDocument xmldoc= new XmlDocument(); xmldoc.Load(Server.MapPath(Request["name"] +".xml"));
XslTransform xsldoc = new XslTransform(); xsldoc.Load(Server.MapPath("main.xsl"));
DocumentNavigator nav= new DocumentNavigator(xmldoc); xsldoc.Transform(nav,null,writer);
return writer.ToString();
} </script> </head> <body> <%=xslt()%> <p align="center">该程序由<a href="www.aspcool.comhttp://www.aspcool.com">www.aspcool.com</a>设计制作.</p>
</body> </html> 关键的地方就是: DocumentNavigator nav= new DocumentNavigator(xmldoc); 这句话怎么都不能解释,郁闷了很久,找了最新的MSDN Lib结果找到一个2001年的MSDN 杂志上面的一段话: DocumentNavigator只能用于Asp.Net Beta2,痛苦,找了老半天,这段所谓经典的代码竟然是过时的产品。 没有办法,只好从后一句想办法,找 xsldoc.Transform(nav,null,writer); 总算找到了Transform这个函数的用法, public XmlReader Transform( XPathNavigator input, XsltArgumentList args ); 然后就开始找XPathNavigator,不错,XmlDocument自己就带了一个CreateNavigator()函数。 总算大功告成。 修改后的代码: <%@ Import Namespace="System"%> <%@ Page Language="C#" Debug="true" codepage="936"%> <%@ Import Namespace="System.IO" %> <%@ Assembly Name="System.Xml" %> <%@ Import Namespace="System.Xml" %> <%@ Import Namespace="System.Xml.Xsl" %> <%@ Import Namespace="System.Xml.XPath" %>
<html> <head> <title> </title> <script language="c#" runat="server"> public string xslt() { StringWriter writer = new StringWriter(); XmlDocument xmldoc= new XmlDocument(); xmldoc.Load(Server.MapPath(Request["name"] +".xml"));
XslTransform xsldoc = new XslTransform(); xsldoc.Load(Server.MapPath("main.xsl"));
XPathNavigator nav = xmldoc.CreateNavigator();
xsldoc.Transform(nav,null,writer); return writer.ToString();
} </script> </head>
找了一个晚上的google都没有找到结果,还是要自己分析,希望这段代码可以在Google上让以后的人找到,以方便日后学习ASP.NET的同好不用花费太多的时间来思考,可以尽快地找到答案。
[Web开发]一个关于ASP运行时间计算的代码 [Web开发]ASP:检测含有中文字符串的实际长度 [Web开发]asp 中英文字符长度检测判断函数 [Web开发]安全维护 IIS asp 站点的高级技巧 [C语言系列]NET 中C#的switch语句的语法 [Access]ASP&SQL让select查询结果随机排序的实现方法 [Web开发]ASP字符串截取函数 [Web开发][asp]关键词只替换一次的写法 [Web开发]XML与HTML在语法上的主要区别详解 [Web开发]Asp无组件生成缩略图方法详解
|