ASP.Net和XML打造留言薄(2)

分类: asp.net   出处:iocblog整理  更新时间:2009-04-24   添加到收藏  

  下面我们来创建用于显示所有用户输入信息的页面-viewguestbook.aspx。在该web页面中,我们要运用到xslt技术,它能将前面创建的xml文件中的数据以html的形式显示出来。由于是运用xslt技术显示用户输入信息的,所以在设计该web页面时我们无需添加任何web控件,只要重载该web页面的load()方法即可。

private void page_load(object sender, system.eventargs e)
{
// 创建一个xmldocument对象以载入存储信息的xml文件
xmldocument xdoc = new xmldocument();
xdoc.load( server.mappath( "guestbook.xml" ));

// 创建一个xsltransform对象并导入xsl文件
xsltransform xslt = new xsltransform();
xslt.load( server.mappath( "guestbook.xsl" ));

string xmlquery = "//guestbook";
xmlnodelist nodelist = xdoc.documentelement.selectnodes( xmlquery );

memorystream ms = new memorystream();
xslt.transform( xdoc, null, ms );
ms.seek( 0, seekorigin.begin );

streamreader sr = new streamreader( ms );

// 显示输出结果
response.write( sr.readtoend() );
}

  该方法首先创建一个xmldocument对象用于载入前面创建的xml数据文件,之后创建一个xsltransform对象并导入相应的xsl文件。通过该xsl文件中的内容它能将原来的xml文件中的数据格式化为html的形式并显示在浏览器中。因为其中运用到了xslt转换,所以我们还得在代码文件的开头处添加using system.xml.xsl的语句。

  下面便是xsl文件的源代码,其中最重要的部分是<xsl:template match="name">……</xsl:template>一块。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0">
<xsl:template match="/">
<table border="1" style="border-collapse: collapse" bordercolor="teal" align="center" width="505" height="34">
<tr>
<td valign="middle" align="center" bgcolor="teal" colspan="2" width="505" height="85">
<font style="color:white;background-color:teal;font-family:华文行楷;font-size:x-large;font-weight:bold;">欢迎访问"令狐冲"的留言簿!</font>
</td>
</tr>
<tr><td width="505" height="26" align="left" colspan="2"></td></tr>
<xsl:for-each select="//guest">
<xsl:apply-templates select="name"/>
</xsl:for-each>
<tr>
<td valign="middle" align="center" colspan="2" width="505">
<font>
本留言簿由<a href="mailto:0024108@fudan.edu.cn">王凯明</a>开发! </font>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="name">
<tr>
<td width="95" height="26" align="right">
<font>用户名:</font>
</td>
<td width="400" height="26" valign="middle" align="left">
<font><xsl:value-of select='.'/></font>
</td>
</tr>
<tr>
<td width="95" height="26" align="right" bgcolor="e0e0e0">
<font>email地址:</font>
</td>
<td width="400" height="26" valign="middle" align="left" bgcolor="#e0e0e0">
<font><a href="mailto:{../email}"><xsl:apply-templates select="../email"/></a></font>
</td>
</tr>
<tr>
<td width="95" height="26" align="right">
<font>qq号码:</font>
</td>
<td width="400" height="26" valign="middle" align="left">
<font><xsl:apply-templates select="../qq"/></font>
</td>
</tr>
<tr>
<td width="95" height="26" align="right" bgcolor="#e0e0e0">
<font>个人主页:</font>
</td>
<td width="400" height="26" valign="middle" align="left" bgcolor="#e0e0e0">
<font><a href="http://{../homepage}" target="_blank"><xsl:apply-templates select="../homepage"/></a></font>
</td>
</tr>
<tr>
<td width="95" height="26" valign="top" align="right">
<font>留言信息:</font>
</td>
<td width="400" height="26" valign="top" align="left">
<font><xsl:apply-templates select="../comment"/></font>
</td>
</tr>
<tr><td width="505" height="26" align="left" colspan="2"></td></tr>
</xsl:template>
</xsl:stylesheet>

  这样,当用户点击"查看留言簿"按钮或是成功输入信息后浏览器便导向到该显示所有用户输入信息的web页面,其运行效果图示如下:

  三.总结:

  这样,一个具有基本功能的留言簿就完成了,从中我们可以体会到运用asp.net技术开发web应用程序是相当容易的,同时在结合了xml技术之后,asp.net可以变得更加强大。还有文章中介绍的xslt技术是非常有用的,你可以参考其它相关的更多资料以使它成为你开发过程中的一个有力工具。

 

上一页 [1] [2]


Tag: 留言薄



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。