1. 程式人生 > >html搜尋xml的簡單例項

html搜尋xml的簡單例項

摘自狐狸的程式碼:

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>