不過一開始我必須先說明,我非常不建議使用 E4X 來開發網頁服務。
原因與用法如下:
瀏覽器支援
這也就是我不建議使用 E4X 的原因。目前僅有 Firefox 支援 E4X,Opera、Chrome、Safari、和 IE 皆不支援。因此就算 EX4 再怎麼簡便好用,我們也絕不能用來開發出大多數使用者都無法使用的服務。
以下還是會簡單介紹 EX4 的用法,大家看看就好,除非未來有更多瀏覽器支援,否則實務上不太可能使用。
E4X 用法
(以下程式碼請皆在 Firefox 中測試)例1:輸出 32
<html> <body> <p>This example works in Firefox only.</p> <script> var employees= <employees> <person> <name>Tove</name> <age>32</age> </person> <person> <name>Jani</name> <age>26</age> </person> </employees>; document.write(employees.person.(name == "Tove").age); </script> </body> </html>
例2:
note.xml
<note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>以下為使用
HTTPRequest
物件來載入、parse、輸出 note.xml 中 <body>
的內容if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","note.xml",false); xmlhttp.send(); xmlDoc=xmlhttp.responseXML; document.write(xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue);將上段 JavaScript 改寫為使用 E4X
var xmlDoc=new XML(); xmlDoc.load("note.xml"); document.write(xmlDoc.body);變得很簡單吧!不過要記得除了 Firefox 之外,目前其他瀏覽器皆未支援喔。
沒有留言:
張貼留言