html搜索xml的简单实例

来源:互联网 发布:手机版绘画软件 编辑:程序博客网 时间:2024/06/10 23:09

摘自狐狸的代码:

test.xml:

-----------------------------------------
<?xml version="1.0" encoding="gb2312" ?>
<data>
 <boy name="张三" age="12" />
 <boy name="李四" age="15" />
 <boy name="王二" age="20" />
</data>

test.htm(精确搜索)

-------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<meta name="Generator" content="Microsoft FrontPage 4.0">
<meta name="Author" content="木野狐">
<meta name="keywords" content="">
<meta name="description" content="">
<hta:application innerBorder="no" singleInstance="true">
<script language="javascript">
window.moveTo(300,300);
window.resizeTo(300,300);

function loadBoysData()
{
 var xd = new ActiveXObject("Microsoft.XMLDOM");
 xd.async = false;
 xd.load("test.xml");
 var boys = xd.selectNodes("/data/boy[@name='" + keyword.value + "']");

 for (var i = 0; i < boys.length; i++)
 {
  var tr = tbl.insertRow();
  var td = tr.insertCell();
  td.innerText = boys[i].getAttribute('name');
  var td = tr.insertCell();
  td.innerText = boys[i].getAttribute('age');
 }
}
</script>
</head>
<body>
<input id="keyword">
<input type="button" value="加载数据" onclick="loadBoysData();">
<table id="tbl" border="1">
<tr bgcolor=lightblue>
<td>姓名</td>
<td>年龄</td>
</tr>
</table>
</body>
</html>



test.hta(模糊搜索)

---------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="木野狐">
<meta name="keywords" content="">
<meta name="description" content="">
<hta:application innerBorder="no" singleInstance="true">
<script language="javascript">
window.moveTo(300,300);
window.resizeTo(300,300);

function loadBoysData()
{
 var xd = new ActiveXObject("Microsoft.XMLDOM");
 xd.async = false;
 xd.load("test.xml");
 var boys = xd.selectNodes("/data/boy");
 var name = document.all("name").value;
 var seach = 0;
 for (var i = 0; i < boys.length; i++)
 {
  
  var xmlName = boys[i].selectSingleNode("name").text;
  var xmlAge = boys[i].selectSingleNode("age").text
  
  if (xmlName.indexOf(name) != -1)
  {
   var tr = tbl.insertRow();
   var td = tr.insertCell();
   td.innerText = xmlName;
   var td = tr.insertCell();
   td.innerText = xmlAge;
   seach = 1;

  }
  
 }
 if (seach == 0)
 {
  alert("没有找到与 '" + name + "' 相关的数据");
 }
}
</script>
</head>
<body>
姓名:<input type="text" id="name"><br>
<input type="button" value="加载数据" onclick="loadBoysData();">
<table id="tbl" border="1">
 <tr bgcolor=lightblue>
  <td>姓名</td>
  <td>年龄</td>
 </tr>
</table>
</body>
</html>


原创粉丝点击