数据岛的运用

数据岛是指存在于HTML页面中的XML代码。数据岛允许你在HTML页面中集成XML,对XML编 写脚本,而不需要通过脚本或<OBJECT>标签读取XML。几乎所有能够存在于一个结构完整 的XML文档中的东西都能存在于一个数据岛中。包括处理指示、DOCTYPE声明和内部子集 。(注意,编码串不能放在数据岛中。)
<XML>元素标记数据岛的开始,它的ID属性提供了一个可以用来引用数据岛的名称。

< script language ="javascript" > ...
varxmlID="xmlcmbtree";
varcmbPrefix="xmlcmb";
varnMaxLevel=3;
vartblName="tbl";
functionCreateList(nLevel)
...{
vardoc=document.all("xmlcmbtree").documentElement;

varnodes,nIndex,node;
nodes
=doc.childNodes;
for(vari=1;i<nLevel;i++)
...{
nIndex
=document.all(cmbPrefix+i).selectedIndex;
node
=nodes[nIndex];
nodes
=node.childNodes;
}


varcmb=document.all(cmbPrefix+nLevel);
if(!cmb)
...{
cmb
=document.createElement("SELECT");
cmb.id
=cmbPrefix+nLevel;
cmb.onchange
=newFunction("ChangeSelection("+nLevel+")");

//document.body.appendChild(cmb);
varcell=document.all(tblName).rows[1].insertCell();
cell.appendChild(cmb);


cell
=document.all(tblName).rows[0].insertCell();

varlabel=document.createElement("SPAN");
label.style.fontWeight
="bold";
label.style.color
="red";
label.innerHTML
=nodes[0].nodeName+":";

cell.appendChild(label);

//document.body.insertBefore(label,cmb)

}


cmb.options.length
=0;



for(i=0;i<nodes.length;i++)
...{
varopt=newOption(nodes[i].getAttribute("text"),nodes[i].getAttribute("value"));
cmb.options.add(opt);
}


ChangeSelection(nLevel);
}


functionChangeSelection(nLevel)
...{
if(nLevel<nMaxLevel)
CreateList(nLevel
+1);
}


</ script >
< body onload ="CreateList(1);" >
<!-- 用JSP生成就可以了! -->
< xml id ="xmlcmbtree" >
< country >
< province text ="JiangSu" value ="JiangSu" >
< city text ="NanJing" value ="NanJing" >
< street text ="XinJieKou" value ="XinJieKou" />
< street text ="DongJiaXiang" value ="DongJiaXiang" />
</ city >
< city text ="SuZhou" value ="SuZhou" >
< street text ="GuanQianJie" value ="GuanQianJie" />
< street text ="ReMinLu" value ="ReMinLu" />
</ city >
</ province >
< province text ="Beijing" value ="Beijing" >
< city text ="Beijing" value ="Beijing" >
< street text ="XinJieKou" value ="XinJieKou" />
< street text ="SiHuanLu" value ="SiHuanLu" />
< street text ="XueYuanLu" value ="XueYuanLu" />
</ city >
</ province >
< province text ="HeiBei" value ="HeiBei" >
< city text ="ShiJiaZhuang" value ="ShiJiaZhuang" >
< street text ="RenMinLu" value ="RenMinLu" />
</ city >
</ province >
</ country >
</ xml >
< table id ="tbl" border ="1" cellspacing ="0" cellpadding ="0" " >
< tr ></ tr >
< tr ></ tr >
</ table >
</ body >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值