XML 动态查询

search.xsl

 

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title> XML 动态查询</title>
<style>
body,BlueIdea,team,blue_ID,blue_name,blue_text,blue_time,blue_class{ font: 12px "宋体", "Arial", "Times New Roman"; }
table { font-size: 12px; border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC #CCCCCC; cellpadding:3;cellspacing:3; bgcolor:#eeeeee;}
span { font-size: 12px; color: red; }
</style>
<script>
function searchtext()
{
var x = document.getElementsByName("searchtext")[0].value - 1;

try{
// Load XML
xml = document.implementation.createDocument("","",null);
xml.async = false;
xml.load("search.xml");
// Load XSL
xsl = document.implementation.createDocument("","",null);
xsl.async = false;
xsl.load("search.xsl");
newx = document.implementation.createDocument("","",null);
newx.async=false;
}catch(e){

 


xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load("search.xml");


xsl = new ActiveXObject("Microsoft.XMLDOM");
xsl.async = false;
xsl.load("search.xsl");

newx = new ActiveXObject("Microsoft.XMLDOM");
newx.async=false;
}

 


var xx = newx.createElement("BlueIdea");
xx.appendChild(xml.getElementsByTagName("team")[x]);
newx.appendChild(xx);


try{
var oProcessor = new XSLTProcessor();
oProcessor.importStylesheet(xsl);
oResultDom = oProcessor.transformToDocument(xx)
var oSerializer = new XMLSerializer();
sXml = oSerializer.serializeToString(oResultDom,"text/xml");
}catch(e){
 
 sXml = xx.transformNode(xsl);

}

 

// Transform
document.getElementById("Layer1").innerHTML=sXml;

}

function searchtext2()
{

try{
// Load XML
xml = document.implementation.createDocument("","",null);

// Load XSL
xsl = document.implementation.createDocument("","",null);


}catch(e){
xml = new ActiveXObject("Microsoft.XMLDOM");
xsl = new ActiveXObject("Microsoft.XMLDOM");

}

xml.async = false;
xml.load("search.xml");


xsl.async = false;
xsl.load("search.xsl");

try{
var oProcessor = new XSLTProcessor();
oProcessor.importStylesheet(xsl);
var oResultDom = oProcessor.transformToDocument(xml.getElementsByTagName("BlueIdea")[0])


var oSerializer = new XMLSerializer();
var sXml = oSerializer.serializeToString(oResultDom,"text/xml");

}catch(e){
 sXml = xml.getElementsByTagName("BlueIdea")[0].transformNode(xsl);
}
// Transform
document.getElementById("Layer1").innerHTML=sXml;

}


</script>
</head>
<body>
<p align="center"><span>XML 动态查询</span></p>
<div id="Layer1" name="Layer1">
<xsl:apply-templates select="BlueIdea" />
</div>
<hr size="1" width="500" />
<table align="center" cellpadding="2" cellspacing="2" border="0" >
<tr>
<td>
<span >请输入筛选条件 : </span>
blue_ID= <input type="text" name="searchtext" size="1" maxlength="1" />
<input type="button" onClick="javascript:searchtext()" value="Submit" name="button1" />
</td>
<td>
<input type="button" onClick="javascript:searchtext2()" value="All" name="button12" />
</td>
</tr>
</table>
</body>
</html>
</xsl:template>


<xsl:template match="BlueIdea">

<table width="500" border="1" align="center" cellpadding="1" cellspacing="1" bordercolordark="#ffffff" bordercolorlight="#ADAAAD">
<tr bgcolor="#FFCC99" align="center">
<td>编号</td>
<td>姓名</td>
<td>主题</td>
<td>发表时间</td>
<td>归类</td>
</tr>

<xsl:apply-templates select="team">
<xsl:sort select="blue_name"/>
</xsl:apply-templates>


</table>
</xsl:template>


<xsl:template match="team">

<tr align="center">
<xsl:apply-templates select="blue_ID" />
<xsl:apply-templates select="blue_name" />
<xsl:apply-templates select="blue_text" />
<xsl:apply-templates select="blue_time" />
<xsl:apply-templates select="blue_class" />
</tr>
</xsl:template>


<xsl:template match="blue_ID">

<td bgcolor="#eeeeee">
<xsl:value-of select="."/>
</td>
</xsl:template>

<xsl:template match="blue_name">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>

<xsl:template match="blue_text">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>

<xsl:template match="blue_time">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>

<xsl:template match="blue_class">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>

</xsl:stylesheet>

 

search.xml

 

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="search.xsl" ?>
<BlueIdea>
  <team>
    <blue_ID>1</blue_ID>
    <blue_name>Sailflying</blue_name>
    <blue_text>一个简单的查询</blue_text>
    <blue_time>2002-1-11 17:35:33</blue_time>
    <blue_class>XML专题</blue_class>
  </team>
  <team>
    <blue_ID>2</blue_ID>
    <blue_name>flyingbird</blue_name>
    <blue_text>嫁给你,是要你疼的</blue_text>
    <blue_time>2001-09-06 12:45:51</blue_time>
    <blue_class>灌水精华</blue_class>
  </team>
  <team>
    <blue_ID>3</blue_ID>
    <blue_name>苛子</blue_name>
    <blue_text>正则表达式在UBB论坛中的应用</blue_text>
    <blue_time>2001-11-23 21:02:16</blue_time>
    <blue_class>Web 编程精华</blue_class>
  </team>
  <team>
    <blue_ID>4</blue_ID>
    <blue_name>太乙郎</blue_name>
    <blue_text>年末经典分舵聚会完全手册 v0.1</blue_text>
    <blue_time>2000-12-08 10:22:48</blue_time>
    <blue_class>论坛灌水区</blue_class>
  </team>
  <team>
    <blue_ID>5</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
  </team>
</BlueIdea>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值