xml数据岛绑定时的超链接处理的示例代码分享

在写地图空间搜索的时候,用ajax返回的数据结果,除了要在地图上标点之外 还需要 用传统的表格方式罗列,并且可以点击察看信息,因为需要对返回结果的 处理足够灵活,所以不能在js当中写死格式。这里用了xml数据岛的方式(系统是 只需要考虑IE)只把要用到xml数据信息返回,具体怎么在html页面上布局可以由 其它开发人员自己订制。

下面代码去掉了ajax的部分,只简单的演示如何生成一个xml数据岛,以及如 何和html表格绑定,并显示出相关的链接信息。其中链接的href内容可以保存在 xml数据中,用datafld属性来处理。

<html xmlns=>
<head>
  <title>XML数据岛</title>
</head>

<script type=text/jscript>...
  //获取xml,实际应用中大多是ajax异步获取的
  function getData()
  ...{
    var xmlData=<xml ID=xmlData><root>;
    for(var i=0;i<5;i++)
    ...{
      try
      ...{
        var id=Name+i;
        var Type=Type+i;
         xmlData+=<MetaDATA><Name>+id+</Name> ;<Type>+Type+</Type><Href>javascript:aler t('+id+')</Href></MetaDATA>;
        pointIndex++;
      }
      catch(e)
      ...{

      }
    }
    xmlData+=</root></xml>;
    document.all.xmlDataPanel.innerHTML=xmlData;
  }
  //简单的添加xml信息
  function addData()
  ...{
    var xmlData= document.all.xmlDataPanel.innerHTML;
    xmlData=xmlData.replace (</root></xml>,);
     xmlData+=<MetaDATA><Name>newName</Name><Type >newType</Type><Href>javascript:alert('newName') </Href></MetaDATA>;
    xmlData+=</root></xml>;
    document.all.xmlDataPanel.innerHTML=xmlData;
  }
</script>

<body>
  <button onclick=javascript:getData();>获取数据 </button>
  <button onclick=javascript:addData();>添加数据 </button>
  <div id=xmlDataPanel>
  </div>
  <div style=overflow: scroll; height: 180;width:180 align=center>
    <div align=left>
      <!--绑定,超链接的地方用 datafld属性,href的值也可以保存在 xml数据岛当中,比较灵活,可以使js函数或者一个URL地址-->
      <table datasrc=#xmlData border=1>
        <tr>
          <td>
            <a datafld=Href><span datafld=Name></span></a>
          </td>
          <td>
            <span datafld=Type></span>
          </td>
        </tr>
      </table>
    </div>
  </div>

</body>
</html>

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念