欢迎光临
我们一直在努力

发发牢骚,关于ASP.NET读取XML新闻的问题-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

单位需要更新一下以前的新闻系统,需要与现代社会接轨,因此开始研究了一下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="http://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的同好不用花费太多的时间来思考,可以尽快地找到答案。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 发发牢骚,关于ASP.NET读取XML新闻的问题-.NET教程,Asp.Net开发
分享到: 更多 (0)

相关推荐

  • 暂无文章