-- 作者:zhuyue
-- 发布时间:6/12/2006 4:06:00 PM
-- 如何在读取XML数据时实现搜索
chat.xml <?xml version="1.0" encoding="GB2312"?> <chat> <user> <ip>127.0.0.1</ip> <client>主人</client> <content>4</content> <time>2006-6-12 15:23:38</time> </user> <user> <ip>192.168.1.5</ip> <time>2006-06-10 214:11:20</time> <client>厂长</client> <content>你好!</content> </user> </chat> chat.xsl <?xml version="1.0" encoding="gb2312"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <table border="1" style="border-collapse: collapse" bordercolor="Teal" align="center" width="100%" height="34"> <tr> <td valign="middle" align="center" bgcolor="Teal" height="85"> <font style="color:White;background-color:Teal;font-family:华文行楷;font-size:X-Large;font-weight:bold;">聊天室!</font> </td> </tr> <xsl:for-each select="//user> <xsl:apply-templates select="ip"/> </xsl:for-each> </table> </xsl:template> <xsl:template match="ip"> <tr> <td height="26" valign="middle" align="left"> <font><xsl:value-of select='.'/> 对 <xsl:apply-templates select="../client"/> 说: <xsl:apply-templates select="../content"/> </font> <font color="#cccccc">(<xsl:apply-templates select="../time"/>)</font> </td> </tr> </xsl:template> </xsl:stylesheet> 请问: 我想根据时间值time来挑选数据(如time>2006-06-10 214:11:20)时间值可以根据程序改变 如何做 下面是我写的函数 Private Sub ShowXml() Try '创建XmlDocument对象 Dim XMLDoc As XmlDocument = New XmlDocument XMLDoc.Load(Server.MapPath("chat.xml")) '创建XslTransform对象 Dim XSLTran As XslTransform = New XslTransform XSLTran.Load(Server.MapPath("chat.xsl")) Dim XMLNot As XmlNodeList = XMLDoc.SelectNodes("//user[time>='" & Session("Ntime") & "']") Dim ms As MemoryStream = New MemoryStream XSLTran.Transform(XMLDoc, Nothing, ms, Nothing) ms.Seek(0, SeekOrigin.Begin) Dim sr As StreamReader = New StreamReader(ms) '显示结果 Response.Write(sr.ReadToEnd) Catch ex As Exception Response.Write(ex.Message) End Try End Sub 如何修改
|