1. 程式人生 > >XML筆記-xml解析與載入

XML筆記-xml解析與載入

解析器把 XML 讀入記憶體,並把它轉換為可被 JavaScript 訪問的 XML DOM 物件。

微軟的 XML 解析器與其他瀏覽器中的解析器是有差異的。微軟的解析器支援對 XML 檔案和 XML 字串(文字)的載入,而其他瀏覽器使用單獨的解析器。不過,所有的解析器都含有遍歷 XML 樹、訪問、插入及刪除節點的函式。

一、微軟XML 解析器

1、載入xml檔案:解析器.load(xml檔案)

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");//建立空的XML DOM物件
xmlDoc.async="false";//採用同步載入,載入時無法進行其它操作
xmlDoc.load("books.xml");

2、解析字串為XML DOM 物件:解析器.loadXML(表示xml物件的字串)

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);
說明:

ActiveXObject類:

二、其它瀏覽器的XML 解析器

1、載入xml檔案:

xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("books.xml");

2、解析字串為XML DOM 物件:

parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");

說明:implementation是管理當前document的物件,dom level1、2、3中分別增加了不同方法(共三個),具體見:

http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490

三、xml載入說明

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

這意味著,網頁以及它試圖載入的 XML 檔案,都必須位於相同的伺服器上。(即xml的載入只能是伺服器端頁面呼叫伺服器上某個xml檔案)

必須把 XML 檔案放到自己的伺服器上。否則,xmlDoc.load() 將產生錯誤 "Access is denied"。

四、示例

<html>
<body>
<script type="text/javascript">
text="<bookstore>"
text=text+"<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";

try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(text);
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(text,"text/xml");
    }
  catch(e) {alert(e.message)}
  }
try 
  {
  document.write("xmlDoc 已載入,可以使用。");
  }
catch(e) {alert(e.message)}
</script>
</body>
</html>


以上全來自W3School 網站:http://www.w3school.com.cn/xmldom/dom_parser.asp

相關推薦

XML筆記-xml解析載入

解析器把 XML 讀入記憶體,並把它轉換為可被 JavaScript 訪問的 XML DOM 物件。 微軟的 XML 解析器與其他瀏覽器中的解析器是有差異的。微軟的解析器支援對 XML 檔案和 XML 字串(文字)的載入,而其他瀏覽器使用單獨的解析器。不過,所有的解析器

基於FBX SDK的FBX模型解析載入 -(三)

6. 載入Camera和Light 在FBX模型中除了幾何資料外較為常用的資訊可能就是Camera和Light,雖然在遊戲中一般不直接從模型中得到這兩部分資訊,而是由引擎來提供,但是FBX中提供了對這些資訊儲存的支援。其實單純載入這兩部分的資訊很簡單,就像之前介紹的在整

基於FBX SDK的FBX模型解析載入 -(二)

5. 載入材質  Material是一個模型渲染時必不可少的部分,當然,這些資訊也被存到了FBX之中(甚至各種貼圖等也可以直接內嵌到FBX內部),就需要從FBX中載入這些資訊以完成帶有材質的渲染。材質的載入可以與Mesh的載入相結合來完成,但更好的方法是獨立進行,這樣各模組

Keras 深度學習程式碼筆記——模型儲存載入

你可以使用model.save(filepath)將Keras模型和權重儲存在一個HDF5檔案中,該檔案將包含: 模型的結構,以便重構該模型 模型的權重 訓練配置(損失函式,優化器等) 優化器的狀態,以便於從上次訓練中斷的地方開始 使用keras.mod

基於FBX SDK的FBX模型解析載入

1. 簡介 FBX是Autodesk的一個用於跨平臺的免費三維資料交換的格式(最早不是由Autodesk開發,但後來被其收購),目前被 眾多的標準建模軟體所支援,在遊戲開發領域也常用來作為各種建模工具的標準匯出格式。Autodesk提供了基於C++(還有Python)的SDK來實現對FBX格式的各種讀寫、

RestTemplate踩坑筆記-中文亂碼json被解析xml

1.RestTemplate訪問Restfull介面:中文亂碼+返回資料格式為xml Spring Cloud專案,肯定會用到元件之間的Http通訊,我使用的是spring提供的簡單便捷的模板類:RestTemplate。 Restfull介面如下: @RestController

cocos2d-x 中XML解析數據存儲

lba false 網上 unsigned failed popu new ccm cfile 一不小心就玩了一周的遊戲了。哎。玩的時候時間過得總是這麽快。。。 於是今天決定看一下之前不怎麽非常熟悉的XML;(之前做遊戲時數據的儲存用到過XML,但這塊是還有一個同事在做

[Java拾遺一] XML的書寫規範解析.

有一個 如何 oca 2.x 可擴展 learning tar 開發 ring 前言今天天氣大好, 起了個大早開始總結一些常用的基礎知識. XML一直來說都很陌生, 使用大多是用於配置文件, 之前並沒有細究過其中的約束規範, 今天剛好沒事來學習並總結下. 1,XML基

JavaWeb學習筆記 (二)xml檔案的解析

1.xml解析 就是獲取xml檔案中元素的屬性或資料。 2.xml常用的解析方式 (1)DOM解析(document object model):會將xml檔案中的內容全部讀出,在記憶體中以樹狀形式儲存。整個文件稱為document物件,屬性稱為attribute物件,元素節點稱為ele

XML文件解析:DOM解析DOM的增刪改查

DOM解析XML的概述: DOM解析優點: 整個文件樹在記憶體中,便於操作; 可以修改,刪除、重新排列XML; 可以隨機訪問任何一個節點,訪問效率高。 DOM解析的缺點: 佔用記憶體大,佔用資源多

《Javascript 高階程式設計(第三版)》筆記0x1F JavaScript XML

目錄 瀏覽器對 XML DOM 的支援     DOM2 級核心     DOMParser型別     XMLSerializer型別     IE8 及

ini、xml格式配置檔案的解析拼裝

1.背景 在開發的過程中,我們通常會使用ini、xml、json等配置檔案對某些服務應用的引數進行配置,這些包含各層級結構的配置檔案,大致可以看作樹狀結構,其解析和拼裝並不是一項簡單的事情。 在本專案中,開發人員或者業務人員提供了這些配置檔案之後,需要解析出相應的配置項以

iPhone開發筆記——webservice解析xml

給你一個我做過的案例吧是關於一個webservice的解析的關鍵市解析xml檔案,在蘋果底下沒有現成的類將xml檔案解析成樹狀的類,自己按照幫助文件的案例推敲吧!#import "QQViewController.h" @implementation QQViewController @synthesi

使用DOM方法實現xml文件內容的解析寫入

java中對xml文件的解析可以分為四種方式:DOM、JDOM、SAX、DOM4J這裡研究一下使用DOM方式進行xml文件的寫入和解析的方法。DOM解析XML文件時會遍歷整個XML文件,在記憶體中建立一個樹的資料結構。與JavaScript中DOM方法類似,我們可以通過get

JAXB解析生成XML

使用JAXB可以快速完成Java類到XML的對映,方便XML檔案的解析與生成。常用註解@XmlRootElement(name = "Country")將Java類或列舉型別對映成XML中根元素,設定name屬性的值可指定義根元素名稱,不設定則預設為型別首字母小寫的名稱。@X

爬蟲學習4-HTML和XML資料的分析解析

目前在 Java 中,解析 HTML 工具主要包含以下幾種: 1,jsoup:強大的 HTML 解析工具,支援以 jQuery 中 CSS Selector 的方式提取 HTML 中的元素,學習成本較低。, 2,HtmlCleaner:另外一款開源的 Java 語言的 HTM

Android APK XML解析反編譯方法

APK中的XML為何不能直接開啟,是否只是簡單的二進位制檔案,難道被加密了?為什麼AXMLPrinter2反編譯的時候竟然報錯了,如何解決? java.lang.ArrayIndexOutOfBoundsException: 128 at android.c

DOMDOM4J對XML檔案的解析

package com.freshbin.domtest.test; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.Docum

Xml二(解析思想)、

sun attr 回寫 步驟 tno 文檔加載 規則 sel jaxp XML解析:   * 解析xml可以做:       * 如果xml作為配置文件:讀取       * 如果xml作為傳輸文件:寫,讀   * xml解析思想:       * DOM:將文檔加載

XML文件解析【安卓7】——SAX解析

try 讀取資源文件 結束 文件解析 簡單 put log 空間 img XML文件解析 XML解析:XML技術是Android平臺的應用基礎,   Android提供了多種解析XML的方式:SAX解析、DOM解析、PULL解析 SA