一、微軟的XML Parser
微軟的XML Parser是一個COM組件,它是隨ie5及以上一起的。一但你安裝了ie,那么這個分析器對腳本就
是有效的。
微軟的XML Parser提供了所有必須的函式來訪問結點以及它們的屬性以及插入、刪除結點和轉換結點樹到
XML。
下面列出了通常為微軟的XML Parser所支持的結點類型:
結點類型 例子
處理指令 <?xml version="1.0"?>
元素 <drink type="beer">carlsberg</drink>
屬性 type="beer"
文本 Carlsberg
MSXML Parser 2.5是和Windows2000、ie5.5一起的
MSXML Parser 3.0是和Windowsxp、ie6.0一起的
MSXML Parser 3.0的特點:
1、支持Javascrīpt, VBscrīpt, Perl, VB, Java, C++等
2、完全支持XML
3、完全支持DOM和名字空間
4、DTD及確認
5、完全支持XSLT和XPath
6、支持SAX2
7、Server-safe HTTP
用Javascrīpt來創建Microsoft's XML parser實例的代碼如下:
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
用VBscrīpt來創建Microsoft's XML parser實例的代碼如下:
set xmlDoc=CreateObject("Microsoft.XMLDOM")
在ASP頁創建Microsoft's XML parser實例的代碼如下:
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
下面的代碼裝載一個XML文檔(note.xml)到Microsoft's XML parser中:
<scrīpt type="text/javascrīpt">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("note.xml")
...
...
...
</scrīpt>
說明:
xmlDoc=new ActiveXObject("Microsoft.XMLDOM")創建一個 Microsoft XML parser的實例。
xmlDoc.load("note.xml")告訴語法分析器去裝載一個名為note.xml的XML文檔。
xmlDoc.async="false"關閉異步裝載,以便於等到XML文檔完全裝載後分析器才繼續腳本的執行。
二、Mozilla Browsers的XML Parser
一個簡單的XML文檔在Mozilla Browsers中以類似樹的結構顯示(像ie),Mozilla 也支持Javascrīpt,
被分析的數據能夠顯示為HTML。
在Mozilla Browsers中用Javascrīpt來創建Microsoft's XML parser實例的代碼如下:
var xmlDoc=document.implementation.createDocument("ns","root",null)
說明:
"ns"定義XML文檔所使用的名字空間;
"root"是XML的根元素;
null是第三個參數,必須是null。
下面的代碼裝載note.xml到Mozillas' XML parser中:
<scrīpt type="text/javascrīpt">
var xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.load("note.xml");
...
...
...
</scrīpt>
說明類似MSXML Parser。
三、一個跨瀏覽器的代碼
<html>
<head>
<scrīpt type="text/javascrīpt">
var xmlDoc
function loadXML()
{
//load xml file
// code for IE
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("note.xml");
GetMessage()
}
// code for Mozilla, etc.
else if (document.implementation &&
document.implementation.createDocument)
{
xmlDoc= document.implementation.createDocument("","",null);
xmlDoc.load("note.xml");
xmlDoc.onload=getmessage
}
else
{
alert('Your browser cannot handle this scrīpt');
}
}function getmessage()
{
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].firstChild.nodeValue
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].firstChild.nodeValue
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue
}
</scrīpt>
</head><body bgcolor="yellow">
<h1>W3Schools Internal Note</h1>
To: [font id="to"][/font]
From: [font id="from"][/font]
<hr />
Message: [font id="message"][/font]
</body>
</html>
四、裝載XML文本到語法分析器中
ie支持兩種方法裝載XML:
load():裝載XML檔案
loadXML():一個包含XML代碼的文本字元串
下面是一個loadXML()的例子:
<scrīpt type="text/javascrīpt">
var txt="<note>"
txt=txt+"<to>Tove</to><from>Jani</from>"
txt=txt+"<heading>reminder</heading>"
txt=txt+"<body>Don't forget me this weekend!</body>"
txt=txt+"</note>"
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(txt)
...
...
...</scrīpt>
相關詞條
-
xmldom
"n documen documen
-
JavaScript王者歸來
內容簡介《JavaScript王者歸來》分為五個部分循序漸進地與讀者討論了JavaScript的方方面面,從簡單的語言基礎到豐富...
內容簡介 編輯推薦 內容簡介 作者簡介 圖書目錄 -
《WEB開發技術及其套用》
《Web開發技術及其套用》【名稱】《WEB開發技術及其套用》【定價】¥39.5【作者】王成良 【叢 書 名】 重點大學...
內容簡介 目錄介紹 參考資料 -
XML解析器
介紹所有現代瀏覽器都內建了供讀取和操作 XML 的 XML 解析器。解析器把 XML 轉換為 XML DOM 對象 - 可通過 ...
介紹 操作文檔 解析技術 解析原理 解析 XML -
DOM 節點樹
正文簡介XML DOM 把 XML DOM 文檔視為一棵節點樹 (node-tree)。樹中的所有節點彼此之間都有關係。DOM ...
正文 父、子和同級節點 -
《AJax完全自學手冊》
807.1.1IE中的XMLDOM支持 807.1.2Firefox中的XMLDOM支持 837.2XPath的支持 867.2.1什麼是XPath...
版權資訊 內容簡介 編輯推薦 目錄 -
x3d
簡介X3D是一種專為全球資訊網而設計的三維圖像標記語言。全稱可擴展三維(語言),是由Web3D聯盟設計的,是VRML標準的最新的升級...
簡介 X3D的特性 X3D和其它實時三維引擎的比較 HTML5、WebGL 和 X3D -
msxml
基本信息MSXML 包含 SDK軟體開發套件,這是微軟公司所出的語言解析器,它已經被套用於最新的遊戲。那么,什麼是 MSXML ...
基本信息 版本發行 文本 主要接口 解析器 -
《XML與ASP 網站實作大全 含盤》
XML與ASP 網站實作大全 含盤 內容簡介本書以一個完整的“網上書店”為實例,教您如何構建以Microsoft Solutio...