html调用xml方法

html调用xml方法

 

html调用xml方法[转]
网上资源,  软件技术

<xml id="files">
 <root>
  <文件>
   <文件名>a.html</文件名>
   <大小>1k</大小>
  </文件>
  <文件>
   <文件名>b.html</文件名>
   <大小>20k</大小>
  </文件>
  <文件>
   <文件名>c.html</文件名>
   <大小>2k</大小>
  </文件>
 </root>
</xml>

 

<table datasrc="#files">
 <tr>
  <td><span datafld="文件名" /></td>
  <td><span datafld="大小" /></td>
 </tr>
</table>

 

这个例子是一本xml教程书上的例子。也许是它很经典,在很多其它的地方我都看到有抄录的。我当然也是在抄录,但我先在这声明以下。毕竟我现在是在初学xml。

 

以下是要被html文件调用的xml文档例10-6.XML:

 

<?xml version="1.0" encoding="GB2312" ?>
<HotelList>
<Hotel>
 <Name>四海大酒店</Name>
 <Address>海魂路1号</Address>
 <HomePage>www.sihaohotel.com.cn</HomePage>
 <E-Mail>master@sihaohotel.com.cn</E-Mail>
 <TelePhone>(0989)8888888</TelePhone>
 <Grade>五星级</Grade>
</Hotel>
<Hotel>
 <Name>五湖宾馆</Name>
 <Address>东平路99号</Address>
 <HomePage>www.wuhu.com.cn</HomePage>
 <E-Mail>web@wuhu.com.cn</E-Mail>
 <TelePhone>(0979)1111666</TelePhone>
 <Grade>四星级</Grade>
</Hotel>
<Hotel>
 <Name>“大沙漠”宾馆</Name>
 <Address>留香路168号</Address>
 <HomePage>www.dashamohotel.com.cn</HomePage>
 <E-Mail>master@dashamohotel.com.cn</E-Mail>
 <TelePhone>(0989)87878788</TelePhone>
 <Grade>五星级</Grade>
</Hotel>
<Hotel>
 <Name>“画眉鸟”大酒店</Name>
 <Address>血海飘香路2号</Address>
 <HomePage>www.throstlehotel.com.cn</HomePage>
 <E-Mail>chuliuxiang@throstlehotel.com.cn</E-Mail>
 <TelePhone>(099)9886666</TelePhone>
 <Grade>五星级</Grade>
</Hotel>
</HotelList>

 

 


下面是调用xml文档的html文件

 

<HTML>
<HEAD><Title>数据岛中的记录集</Title></HEAD>
<body bkcolor=#EEEEEE text=blue bgcolor="#00FFFF">
<XML ID="theXMLisland" src="例10-6.XML"></xml>
<Table align=center width="100%"><TR><TD align="center">
      <h5><b><font size="6" color="#FF0000">XML数据岛记录</font></b></h5>
    </TD></TR></Table>
<HR>
酒店名称:<input type=text datasrc=#theXMLisland DataFLD=NAME size="76"><BR>
  地址:<input type=text datasrc=#theXMLisland DataFLD=Address size="76"><BR>
  主页:<input type=text datasrc=#theXMLisland DataFLD=HomePage size="76"><BR>
电子邮件:<input type=text datasrc=#theXMLisland DataFLD=E-Mail size="76"><BR>
  电话:<input type=text datasrc=#theXMLisland DataFLD=TelePhone size="76"><BR>
  级别:<input type=text datasrc=#theXMLisland DataFLD=Grade size="76"><HR>
<input id="first" TYPE=button value="<< 第一条记录" οnclick="theXMLisland.recordset.moveFirst()">
<input id="prev" TYPE=button value="<上一条记录" οnclick="theXMLisland.recordset.movePrevious()">   
<input id="next" TYPE=button value="下一条记录>" οnclick="theXMLisland.recordset.moveNext()">   
<input id="last" TYPE=button value="最后一条记录>>" οnclick="theXMLisland.recordset.moveLast()">&nbsp;   
<input id="Add" TYPE=button value="添加新记录" οnclick="theXMLisland.recordset.addNew()">  
</body>  
</HTML>

 

 

html文件中调用xml文档[js调用]

 

在这里,我用比较“古老”的方法,来在html文件中调用xml文档的数据。其中用到了javascript.我一向欣赏javascript,而不愿意用vbscript。当然,这只是我自己的一种情绪在作怪。vbscript当用且用。不要拒绝任何对你好的东西。下面是个简单的例子。

 

一.下面先建立一个xml文档myxml。myfile为根元素,它包含四个字元素:

 

<?xml version="1.0" encoding="gb2312"?>
<myfile>
 <title>xml实用进阶</title>
 <author>魅力奇异岭</author>
 <email>zhyt710@tom.com</email>
 <date>20060423</date>
</myfile>

 

二.在建立一个html文档myhtm,用来调用上面建立的xml文档,注意其中javascript的使用。例程如下:

 

<html>
<head>
<script language="JavaScript" for="window" event="onload">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("myxml.xml");
nodes = xmlDoc.documentElement.childNodes;
title.innerText = nodes.item(0).text;
author.innerText = nodes.item(1).text;
email.innerText = nodes.item(2).text;
date.innerText = nodes.item(3).text;
</script>
<title>在HTML中调用XML数据</title>
</head>
<body bgcolor="#FFFFFF">
  <b>标题: </b>
  <span id="title"></span><br>
  <b>作者: </b>
  <span id="author"></span><br>
  <b>电子信箱: </b>
  <span id="email"></span><br>
  <b>日期: </b>
  <span id="date"></span><br>  

 

</body>
</html>

 

把两者放在同一个目录下,你就可以打开myhtm.htm来察看myxml.xml的信息了

 

xml数据查询调用

 

 

 
一会的工夫,我又参考了一些资料,作了一个关于在htm文件中查询xml文档纪录的例子。其中也是用到了脚本语言javascript。其实在这个地方。javascrip和vbscript的语句就是一样的。不过javascript多了语句结束符“;”。注意其中各个网页元素中id的使用,以及脚本中的查询语句的格式。好了,下面就是我做的例子,请大家欣赏.

 

先给出要查询的xml文件text.xml:

 

 

 

<?xml version="1.0" encoding="GB2312" ?>
<文章表>
  <文章>
   <id>1</id>
   <标题>xml的应用</标题>
   <内容>我是第一篇文章,欢迎看到我</内容>
  </文章>
  <文章>
   <id>2</id>
   <标题>爱情日记</标题>
   <内容>我是真的真的很爱你</内容>
  </文章>
  <文章>
   <id>3</id>
   <标题>忘忧草</标题>
   <内容>送给你一棵,让你忘记所有烦恼</内容>
  </文章>
    <文章>
   <id>4</id>
   <标题>无题</标题>
   <内容>这只是示例</内容>
  </文章>
</文章表>

 

接下来是用语查询上面的xml文档并显示的html文件showtext.htm:

 

<html>
<script language="javascript">
function query()
{
    //得到文章的标题
    s=document.all.Text.XMLDocument;
    temp=s.selectSingleNode("/文章表/文章[id='"+m.value+"']/标题");
    if(temp==null)  title.value='没有这个标题';
    else title.value=temp.text;
    //得到文章的内容
    temp=s.selectSingleNode("/文章表/文章[id='"+m.value+"']/内容");
    if(temp==null)  content.value='没有内容';
    else content.value=temp.text;
}
</script>
<head>
<title>查询xml中的纪录</title>
</head>

 

<body>
<xml id="Text" src="text.xml"></xml>

 

<h2>xml查询示例</h2>

 

请输入要查询的id号:
<input type="text" id="m" width=3 size="5"><input type="button" value="查找" οnclick="query()">
<br><br>

 

<input type="text" id="title"><br>
<textarea cols="30" rows="10" id="content"></textarea>

 

</body>

 

</html>

 

好了,现在就把这两个文件放在一个目录下,用浏览器打开showtext.htm欣赏一下吧。

 

在表格中调用xml文档数据并实现分页

 


在表格中调用xml文档数据.这个例子完全是我写的。我在表格里调用xml文档数据。并且在xml文档中用的是中文标签。而且再这个表格中实现了分页,和页面跳转功能。在htm文件中有相应的注释。我力争使这个页面出现尽可能多的典型的功能。我在例子中已经给了注释,所以就不在这里罗嗦讲解了。

 

以下是xml文档newxml.xml:

 

<?xml version="1.0" encoding="GB2312" ?>
<员工表>
   <员工>
    <姓名>张易</姓名>
    <性别>男</性别>
    <年龄>23</年龄>
   </员工>
   <员工>
    <姓名>张晴</姓名>
    <性别>女</性别>
    <年龄>23</年龄>
   </员工>
   <员工>
    <姓名>笑哈哈</姓名>
    <性别>女</性别>
    <年龄>23</年龄>
   </员工>
   <员工>
    <姓名>444</姓名>
    <性别>男</性别>
    <年龄>23</年龄>
   </员工>
   <员工>
    <姓名>555</姓名>
    <性别>女</性别>
    <年龄>23</年龄>
   </员工>
   <员工>
    <姓名>666</姓名>
    <性别>女</性别>
    <年龄>23</年龄>
   </员工>
   <员工>
    <姓名>999</姓名>
    <性别>男</性别>
    <年龄>23</年龄>
   </员工>
   <员工>
    <姓名>777</姓名>
    <性别>女</性别>
    <年龄>23</年龄>
   </员工>
   <员工>
    <姓名>888</姓名>
    <性别>女</性别>
    <年龄>23</年龄>
   </员工>
</员工表>

 

以下是调用xml文档的html文件:

 

<html>
<head>
<title>中文标识的xml数据调用</title>
</head>

 

<body>
<XML ID="CNxml" src="newxml.xml"></xml>

 

<h2>表格调用xml数据并分页现显示</h2>

 

<table><!-- 列名单独作为一个表是为了不让它重复出现 -->
<tr>
<td width=50>姓名</td><td width=50>性别</td><td width=50>年龄</td>
</tr>
</table>
<table ID="ygTable" DATASRC="#CNxml" DATAPAGESIZE=3>
<!-- "DATAPAGESIZE"是设定每页显示的记录数 -->
<!-- 本table的标志,是用来控制页的滚动的行为对象 -->
<tr>
<td width=50><SPAN datafld=姓名></SPAN></td>
<td width=50><SPAN datafld=性别></SPAN></td>
<td width=50><SPAN datafld=年龄></SPAN></td>
</tr>
</table>
<br>

 

<!--该javascrip脚本函数实现页跳转功能-->
<script language="javascript">  
function go(pageNum)    
{
ygTable.firstPage();          
for(var i=1; i<pageNum; i++)   //不知道定位函数所以用循环来寻找应当到的页数
ygTable.nextPage();
}
</script>

 

<a href="javascript :go(1)">1</a>    
<a href="javascript :go(2)">2</a>        
<a href="javascript :go(3)">3</a> <br>      

 

<!-- onclick行为中,是以本table为主体对象调用的函数,可见这种方法实现份也是多么的简单 -->  
<input type="button" value="第一页" name="B1" οnclick="ygTable.firstPage()">       
<input type="button" value="上一页" name="B2" οnclick="ygTable.previousPage()">            
<input type="button" value="下一页" name="B3" οnclick="ygTable.nextPage()">            
<input type="button" value="最后一页" name="B4" οnclick="ygTable.lastPage()">
<!-- 页跳转功能,同样用到了上面javascript定义的脚本程序函数 -->
<input type="text" name="pageto" value="1" size="5">
<input type="button"  value="跳转" οnclick="go(pageto.value)">

 

</body>

 

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值