首頁 >後端開發 >XML/RSS教程 >xml資料島綁定時的超連結處理的範例程式碼分享

xml資料島綁定時的超連結處理的範例程式碼分享

黄舟
黄舟原創
2017-03-24 17:05:591790瀏覽

在寫地圖空間搜尋的時候,用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(&#39;"+id+"&#39;)</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(&#39;newName&#39;) </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>

以上是xml資料島綁定時的超連結處理的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn