MozTW 討論區 https://forum.moztw.org/ |
|
請問怎在網頁存取XML? https://forum.moztw.org/viewtopic.php?f=13&t=19719 |
第 1 頁 (共 1 頁) |
發表人: | fanta [ 2007-07-16, 16:44 ] |
文章主題 : | 請問怎在網頁存取XML? |
以下是我找的範例 代碼: <html>
<head> <title>範例12-21</title> <xml id="database" src="ex12-21.xml"></xml> <script type="text/javascript"> xmldoc = document.all("database").XMLDocument; nodeXML = xmldoc.documentElement; nodeLists = nodeXML.childNodes; var number = 0; var total = nodeLists.length - 1; function getFirstField() { number = 0; outputMessage(); } function getPreviousField() { if (number < 1) { number = 0; } else { number--; } outputMessage(); } function getNextField() { if (number > total - 1) { number = total; } else { number++; } outputMessage(); } function getLastField() { number = total; outputMessage(); } function outputMessage() { nodeName = nodeLists[number].firstChild; nodeSex = nodeName.nextSibling; nodeBlood = nodeSex.nextSibling; nodeStar = nodeBlood.nextSibling; field1.innerHTML = nodeName.firstChild.nodeValue; field2.innerHTML = nodeSex.firstChild.nodeValue; field3.innerHTML = nodeBlood.firstChild.nodeValue; field4.innerHTML = nodeStar.firstChild.nodeValue; } </script> </head> <body onload="getFirstField()"> <center> <h1>使用 XML Data Source Control</h1> <table border="1"> <tr> <td width="80">姓名</td> <td width="100"> <span id="field1"></span> </td> </tr> <tr> <td>性別</td> <td> <span id="field2"></span> </td> </tr> <tr> <td>血型</td> <td> <span id="field3"></span> </td> </tr> <tr> <td>星座</td> <td> <span id="field4"></span> </td> </tr> </table> <br /><br /> <button onclick="getFirstField()"> 第一筆 </button> <button onclick="getPreviousField()"> 上一筆 </button> <button onclick="getNextField()"> 下一筆 </button> <button onclick="getLastField()"> 最後一筆 </button> </center> </body> </html> 以上的寫法只能在IE執行,在FF會出現nodeLists未定義,但是變數不是可以直接用嗎?上面的xmldoc和nodeXML可以直接使用,若要改成標準要如何修改呢? 有請各位幫忙了,謝謝。 |
發表人: | fanta [ 2007-07-17, 09:23 ] |
文章主題 : | |
我將宣告部份改成以下: 代碼: var xmldoc = document.getElementById("database").XMLDocument;
var nodeXML = xmldoc.documentElement; var nodeLists = nodeXML.childNodes; 似乎還是不行,不知道該如何下手了 |
發表人: | BobChao [ 2007-07-17, 09:48 ] |
文章主題 : | |
<xml ...></xml> 這個標簽好像是 IE 專用的? (XML Data Island?) 現在來說,如果要讀取外部的 XML 檔,應該會用 XMLHttpRequest 來讀入再行操作。 |
發表人: | kourge [ 2007-07-17, 12:25 ] |
文章主題 : | |
<xml> 是 IE 專有的 XML data island,Firefox 不支援。 Mozilla 的對應技術似乎是 XBL,不過 XBL 很麻煩,可以參考這篇文章: http://developer.mozilla.org/en/docs/Us ... in_Mozilla |
發表人: | fanta [ 2007-07-17, 15:33 ] |
文章主題 : | |
感謝兩位大大回覆 kourge 寫: <xml> 是 IE 專有的 XML data island,Firefox 不支援。
Mozilla 的對應技術似乎是 XBL,不過 XBL 很麻煩,可以參考這篇文章: http://developer.mozilla.org/en/docs/Us ... in_Mozilla 我看這篇的example of an XML DataIsland for use in Mozilla or IE感覺好像也是用<xml>標籤,不知該如何是好 BobChao大大說的XMLHttpRequest又該如何來操作呢?希望大大給個範例。 |
發表人: | kourge [ 2007-07-18, 00:01 ] |
文章主題 : | |
http://developer.mozilla.org/zh_tw/docs ... B%E7%AF%87 (如果要玩 Ajax 千萬不要剪貼這篇文章裡面的程式碼,應該用 Prototype 或 jQuery 來讓自己省事一點。) |
發表人: | fanta [ 2007-07-18, 11:36 ] |
文章主題 : | |
kourge 寫: http://developer.mozilla.org/zh_tw/docs/AJAX:%E4%B8%8A%E6%89%8B%E7%AF%87
(如果要玩 Ajax 千萬不要剪貼這篇文章裡面的程式碼,應該用 Prototype 或 jQuery 來讓自己省事一點。) 這看起來好像是由伺服端來執行,若只是在客服端能夠做得到嗎? 還有Prototype 和 jQuery 是什麼?不好意思新手不太清楚 是像C/C++的function prototype一樣嗎,把它寫成副程式或是物件之類的嗎? |
發表人: | kourge [ 2007-07-18, 13:36 ] |
文章主題 : | |
如果是 local 應該做得到。 Prototype 和 jQuery 都是 JavaScript 函式庫。 |
發表人: | fanta [ 2007-07-18, 15:35 ] |
文章主題 : | |
感謝大大的解答,大致上是了解了,不過小弟還有一個新手問題,想請問大大是用什麼工具開發html,asp的呢? |
發表人: | kourge [ 2007-07-18, 23:39 ] |
文章主題 : | |
我都是寫 HTML、PHP、和 JavaScript,所以都是手寫,Komodo Edit 是個不錯的免費跨平台編輯器(而且也是以 Mozilla 為基礎)。 |
發表人: | fanta [ 2007-07-19, 15:59 ] |
文章主題 : | |
kourge 寫: 我都是寫 HTML、PHP、和 JavaScript,所以都是手寫,Komodo Edit 是個不錯的免費跨平台編輯器(而且也是以 Mozilla 為基礎)。
Komodo Edit的智能感覺還不錯,而且檔案小、速度快,謝謝大大的推薦。 真不好意思,我一直麻煩各位。 |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |