一个用xml存储日志信息的程序

news/2024/7/7 13:29:20

本程序中利用asp代码生成的日志信息存储到xml文件中,然后由xslt格式化输出

该程序共分三个部分:
1.   生成日志的asp程序

代码见以前的一篇文章:

http://blog.csdn.net/precipitant/archive/2005/04/28/366634.aspx

2.   由 上面的 程序 生成的日志文件(.xml)

 

<? xml version="1.0" encoding="gb2312" ?>
<? xml-stylesheet type='text/xsl' href='logInfo.xsl' ?>
< syslog >
< log >
< username > 塞北的雪 </ username >
< operate > 登录 </ operate >
< userip > 192.168.22.205 </ userip >
< opdate > 2006-2-15 8:21:27 </ opdate >
</ log >
< log >
< username > 塞北的雪 </ username >
< operate > 删除用户(delete from sys_user where user_id='northsnow') </ operate >
< userip > 192.168.22.206 </ userip >
< opdate > 2006-2-15 9:03:21 </ opdate >
</ log >
< log >
< username > 塞北的雪 </ username >
< operate > 注销 </ operate >
< userip > 192.168.22.205 </ userip >
< opdate > 2006-2-15 9:11:18 </ opdate >
</ log >
</ syslog >

 

3 .   格式化xml文件输出的 xsl文件

 

<? xml version="1.0" ?>
< xsl:stylesheet  version ="1.0"  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform"   xmlns:msxsl ="urn:schemas-microsoft-com:xslt"  xmlns:user ="http://www.cccar.com.cn/"  
exclude-result-prefixes
="msxsl user" >

<!--  localized strings  -->
< xsl:variable  name ='ColumnHeader_UserName'>用户</xsl:variable>
<xsl:variable name ='ColumnHeader_Time'>时间</xsl:variable>
<xsl:variable name ='ColumnHeader_Operate'>操作</xsl:variable>
<xsl:variable name ='ColumnHeader_Address'>IP地址</xsl:variable>

<!-- variables -- >
< xsl:variable  name ='TableStyle'>background-color:#DAE6D8;font-family:Simsun,  Verdana; font-size:75%; text-align:left; vertical-align:top</xsl:variable >
< xsl:variable  name ='HeaderStyle'>background:a0b0a8;color:#000000;border-bottom:1  solid black;border-top:1 solid black</xsl:variable >
< msxsl:script  language ="javascript"  implements-prefix ="user" >  
   function xmlDateTime(nodelist) { 
           return Date.parse(nodelist.replace(/-/g,"/")); 
        } 
 
</ msxsl:script >  
< xsl:output  omit-xml-declaration ="yes" />  
< xsl:template  match ="syslog" >

    
< html >
    
< head >
        
< title >
            日志查看
        
</ title >
    
</ head >

    
< body  style ='margin:10;background-color:#DAE6D8'>
        
<div align ="center" >
        
< table     style ="{$TableStyle}"  width ="100%"  align ="center"  cellspacing ='0'>
          
            
<thead >
                
< tr  height ="23" >
                    
                    
< th  width ="15%"  style ="{$HeaderStyle}" >
                        
< xsl:value-of  select ="$ColumnHeader_UserName" />
                    
</ th >
                    
< th  width ="20%"  style ="{$HeaderStyle}" >
                        
< xsl:value-of  select ="$ColumnHeader_Time" />
                    
</ th >
                    
< th  width ="50%"  style ="{$HeaderStyle}" >
                        
< xsl:value-of  select ="$ColumnHeader_Operate" />
                    
</ th >
                    
< th  width ="15%"  style ="{$HeaderStyle}" >
                        
< xsl:value-of  select ="$ColumnHeader_Address" />
                    
</ th >
                
</ tr >
            
</ thead >
            
            
< tbody  style ='vertical-align:top'>
                 
<tr  >< td  colspan ="4"  height ="5" ></ td ></ tr >   
                 
< xsl:for-each  select ="log" >
                    
< xsl:sort  order ='ascending'   select ="user:xmlDateTime(string(opdate))"  data-type ="number" />
                     
                   
< tr  height ="23" >  
                    
                     
< td  valign ="bottom" >< xsl:value-of  select ="username" /></ td >
                     
< td  valign ="bottom"   >< xsl:value-of  select ="opdate" /></ td >
                     
< td  valign ="bottom"   >< xsl:value-of  select ="operate" /></ td >
                     
< td  valign ="bottom"   >< xsl:value-of  select ="userip" /></ td >   
                  
</ tr >
                  
< tr  bgcolor ="#999999" >< td  colspan ="4"  height ="1" ></ td ></ tr >   
                
</ xsl:for-each >
                
                
< tr >< td  colspan ="4"  align ="right" > 合计: < xsl:value-of  select ="count(log)" />  条  </ td ></ tr >     
            
</ tbody >
        
</ table >
</ div >
    
</ body >
    
</ html >

</ xsl:template >
</ xsl:stylesheet >

http://www.niftyadmin.cn/n/658008.html

相关文章

properties与yaml互转工具类

没事写的&#xff0c;实际更加推荐使用网上一些更加完善的在线工具 效果 正向转换 原内容 转换结果 反向 原内容 结果 主要类 public class p2y {private static final String REVERSE "-r";private static final Pattern PATTERN Pattern.compile("(.)\…

IDEA default keymap整理

main menu ctrlalts 打开settings ctrlaltshifts 打开project Structure alt1 打开项目目录 alt7 打开Structure目录 altf12 代开teminal git ctrlaltz revert ctrlk commit project ctrlshiftk push edit ctrly删除行 ctrldelete删除到单词末尾 ctrlbackspace删除到单词首 ctr…

马化腾在小程序首次获选世界互联网领先科技成果奖发表演讲

昨日小程序斩获一项世界级殊荣——在乌镇举行的第五届世界互联网大会“世界互联网领先科技成果发布活动”上&#xff0c;作为一项全新的技术和应用创新&#xff0c;小程序首次获选世界互联网领先科技成果。腾讯公司董事会主席兼首席执行官马化腾作为腾讯公司代表上台领奖&#…

Java小图片拼接为图集

使用的是暴力拼接(从左向右&#xff0c;从上到下&#xff0c;先放矮的图片进去) 对于后缀为_strip[数字]的图片会再次分割提高图集密度 效果 拼接前 拼接后 对应子图的偏移信息记录类(自动生成) 单张图片信息类(可能有多张图片因为有后面名为_strip[数字]的情况) public cl…

以xml文件作为数据库的程序一例

xml分为三种&#xff0c;index.xml保存一个最大的索引 &#xff0c;相当于一个序列。flfgcx_list.xml为一个目录&#xff0c;里面保存了所有的信息的索引信息另一种就是内容xml&#xff0c;每一种法律都有一个文件。文件名为一个数字&#xff0c;当录入当前的法律的时候自动创造…

三汇自动挂断问题

三汇自动挂断问题 ACK检测 转载于:https://www.cnblogs.com/devour/p/10901341.html

Java正则表达式使用

这里不讲基本的正则字符&#xff0c;只说一下Java中使用正则的常用API 基本代码&#xff0c;后面的基于他们 // 构建正则 Pattern pattern Pattern.compile("((\\d)(\\d))"); // 匹配字符串 Matcher matcher pattern.matcher("23sgfew8h8erh23gewjrg3er&quo…

推荐两个不错的flink项目

最近flink真是风生水起&#xff0c;但是浪院长看来这不过是阿里错过了创造spark影响力之后&#xff0c;想要在flink领域创建绝对的影响力。但是&#xff0c;不可否认flink在实时领域确实目前来看独树一帜&#xff0c;当然也有它不适合的地方&#xff0c;比如今天要推荐的第一个…