这里我就用xml代替数据,写一个新闻发布系统,希望能够起到抛砖引玉的作用,使更多的人能够了解这些最新的技术。下面介绍这几个文件。
contents.xml
- <?xml version="1.0" encoding="GB2312"?>
- <topiclist type="AspCool News">
- <topic>
- <title>aspcool news!</title>
- <href>main.aspx?name=hello</href>
- </topic>
- <topic>
- <title>Resolve a problem</title>
- <href>main.aspx?name=test</href>
- </topic>
- </topiclist>
复制代码这是一个很简单的xml文件,它的作用是用来显示新闻的列表。
hello.xml
- <?xml version="1.0" encoding="GB2312"?>
- <document>
- <title>aspcool news!</title>
- <abstract>test news</abstract>
- <author>feiying</author>
- <content>
- <paragraph>The firet test</paragraph>
- </content>
- </document>
复制代码这个文件是用来显示新闻的内容,其中各个意思大家一看就明白,我就不在这儿多说了。
下面给大家看新闻列表显示的页面。
news.aspx
- <%@ 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" %>
- <html>
- <head>
- <title>
- </title>
- <script language="c#" runat="server">
- public string xslt()
- {
- StringWriter writer = new StringWriter();
- //装入xml对象
- XmlDocument xmldoc= new XmlDocument();
- xmldoc.Load(Server.MapPath("Contents.xml"));
- //装入xsl对象
- XslTransform xsldoc = new XslTransform();
- xsldoc.Load(Server.MapPath("news.xsl"));
- //把xml转化成html页面
- DocumentNavigator nav= new DocumentNavigator(xmldoc);
- xsldoc.Transform(nav,null,writer);
- return writer.ToString();
- }
- </script>
- </head>
- <body>
- <%=xslt()%>
- <p align="center">
- 该程序由<a href="www.pin5i.com">拼吾爱程序人生</a>设计制作.
- </p>
- </body>
- </html>
复制代码这个页面完成了从xml通过xslt转化成html文件,也使我对于xslt有了进一步的认识。
下面是新闻内容显示的页面:
main.aspx
- <%@ 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" %>
- <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.pin5i.com">拼吾爱程序人生</a>设计制作.</p>
- </body>
- </html>
复制代码这个功能和上面的一样,我在这儿就不多说了。
最后,大家来看一下最负责的一个页面,这个页面的作用就是用来建立新的xml数据。
manage.aspx
此程序在.net beta2 build 9148下测试通过。