javascript訪問 xml

來源:互聯網
上載者:User

轉子別人空間:


大多數瀏覽器都有讀取和操作 XML 的內建 XML 解析器。

解析器(XML Parser)把 XML 轉換為 JavaScript 可訪問的對象。

解析器把 XML 載入記憶體,然後把它轉換為可通過 JavaScript 訪問的 XML DOM 對象。

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

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

 

一、IE通過微軟的 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 文檔。

下面的 JavaScript 片段把字串 txt 載入解析器:

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.loadXML(txt);

注釋:loadXML() 方法用於載入字串(文本),load() 用於負載檔案。

二、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 文檔。

下面的 JavaScript 片段把字串 txt 載入解析器:

var parser=new DOMParser();var xmlDoc=parser.parseFromString(txt,"text/xml");
例子解釋:
  1. 上面代碼的第一個行建立一個空的微軟 XML 文檔對象。
  2. 第二行告知解析器載入名為 txt 的字串。

注釋:DOMParser對象的parseFromString () 方法用於載入字串(文本),load() 用於負載檔案。

三、跨域訪問

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

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

另外,jquery也可以直接存取Xml,$.get, $.ajax等

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.