麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > XML > 正文

XML 解析器

2024-09-05 20:53:11
字體:
來源:轉載
供稿:網友

所有現代瀏覽器都內建了供讀取和操作 XML 的 XML 解析器。

解析器把 XML 轉換為 XML DOM 對象 - 可通過 JavaScript 操作的對象。

實例

W3School 提供的實例是獨立于瀏覽器和平臺的。這些例子可以在所有現代瀏覽器中運行。

加載并解析 XML 文件
加載并解析 XML 字符串

解析 XML

所有現代瀏覽器都有讀取和操作 XML 的內建 XML 解析器。

解析器把 XML 載入內存,然后把它轉換為可通過 JavaScript 訪問的 XML DOM 對象。

您將在本教程的下一節中學習更多有關 XML DOM 的知識。

微軟的 XML 解析器與其他瀏覽器中的解析器之間,存在一些差異。微軟的解析器支持 XML 文件和 XML 字符串(文本)的加載,而其他瀏覽器使用單獨的解析器。不過,所有的解析器都包含遍歷 XML 樹、訪問插入及刪除節點(元素)及其屬性的函數。

在本教程中,我們將為您展示如何創建可同時工作于 Internet Explorer 和其他瀏覽器中的腳本。

注釋:當我們談及 XML 解析,我們常常會使用有關 XML 元素的術語:節點。

解析 XML 文檔

下面的代碼片段把 XML 文檔解析到 XML DOM 對象中:

if (window.XMLHttpRequest)  {// code for IE7+, Firefox, Chrome, Opera, Safari  xmlhttp=new XMLHttpRequest();  }else  {// code for IE6, IE5  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }xmlhttp.open("GET","books.xml",false);xmlhttp.send();xmlDoc=xmlhttp.responseXML; 

其他方法 1:通過微軟的 XML 解析器來加載 XML

微軟的 XML 解析器內建于 Internet Explorer 5 以及更高的版本中。

下面的 JavaScript 片段把一個 XML 文檔載入解析器中:

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.load("note.xml");
  1. 上面代碼的第一個行創建一個空的微軟 XML 文檔對象。
  2. 第二行關閉異步加載,這樣確保在文檔完全加載之前解析器不會繼續腳本的執行。
  3. 第三行告知解析器加載名為 "note.xml" 的 XML 文檔。

其他方法 2:在 Firefox 及其他瀏覽器中的 XML 解析器

下面的 JavaScript 片段把 XML 文檔 ("note.xml") 載入解析器:

var xmlDoc=document.implementation.createDocument("","",null);xmlDoc.async="false";xmlDoc.load("note.xml");
  1. 上面代碼的第一個行創建一個空的 XML 文檔對象。
  2. 第二行關閉異步加載,這樣確保在文檔完全加載之前解析器不會繼續腳本的執行。
  3. 第三行告知解析器加載名為 "note.xml" 的 XML 文檔。

解析 XML 字符串

下面的 JavaScript 代碼片段把 XML 字符串解析到 XML DOM 對象中(把字符串 txt 載入解析器):

txt="";txt=txt+"Everyday Italian";txt=txt+"Giada De Laurentiis";txt=txt+"2005";txt=txt+"";if (window.DOMParser)  {  parser=new DOMParser();  xmlDoc=parser.parseFromString(txt,"text/xml");  }else // Internet Explorer  {  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");  xmlDoc.async="false";  xmlDoc.loadXML(txt);  }

注釋:Internet Explorer 使用 loadXML() 方法來解析 XML 字符串,而其他瀏覽器使用 DOMParser 對象。

注釋:loadXML() 方法用于加載字符串(文本),load() 用于加載文件。

跨域訪問

出于安全方面的原因,現代的瀏覽器不允許跨域的訪問。

這意味著,網頁以及它試圖加載的 XML 文件,都必須位于相同的服務器上。

W3School 的實例所打開的 XML 文件位于 W3School 的域上。

假如你打算在自己的網頁上使用上面的例子,則必須把 XML 文件放到自己的服務器上。否則,xmlDoc.load() 將產生錯誤 "Access is denied"。

XML DOM

在本教程的下一章節,您將學習如何訪問 XML 文檔對象 (XML DOM) 并取回數據。

上一篇:XML DOM

下一篇:XMLHttpRequest 對象

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九九热在线视频观看 | 亚洲成人夜色 | 激情大乳女做爰办公室韩国 | 亚洲视频成人 | 羞羞网站 | lutube成人福利在线观看污 | 农村少妇吞精夜夜爽视频 | 亚洲午夜不卡 | 亚洲最新黄色网址 | 日韩电影一区二区 | 日本不卡二区 | 亚洲一区二区中文字幕在线观看 | 成人偷拍片视频在线观看 | 综合网日日天干夜夜久久 | qyl在线视频精品免费观看 | 亚洲一区二区三区视频 | 偿还的影视高清在线观看 | 久久久久久久久91 | 国产在线免 | 99在线热视频 | 国产一区日韩精品 | 亚洲人成网站免费播放 | 国产午夜精品久久久久久免费视 | 国产成人在线播放视频 | 激情综合网俺也去 | 视频在线91| 中文字幕一区二区三区久久 | 国产91久久久久 | 成人午夜影院 | 国产一区精品在线观看 | av在线免费看网站 | 一分钟免费观看完整版电影 | 天天黄色片 | 日韩精品羞羞答答 | 久久美女免费视频 | 成人高清网站 | 性欧美在线视频 | 午夜精品久久久久久久96蜜桃 | 亚洲91精品| 欧美激情在线播放 | 国产免费一区 |