XML技術手冊登入
XML技術手冊
作者:php.cn  更新時間:2022-04-14 15:57:53

XML文檔物件模型



DOM(Document Object Model 文件物件模型)定義了存取和操作文件的標準方法。


XML DOM

XML DOM(XML Document Object Model)定義了存取和操作 XML 文件的標準方法。

XML DOM 把 XML 文件當作樹狀結構來檢視。

所有元素可以透過 DOM 樹來存取。可以修改或刪除它們的內容,並建立新的元素。元素,它們的文本,以及它們的屬性,都被認為是節點。

在我們的 XML DOM 教學中,您可以學習更多關於 XML DOM 的知識。


HTML DOM

HTML DOM 定義了存取和操作 HTML 文件的標準方法。

所有 HTML 元素可以透過 HTML DOM 來存取。

在我們的 HTML DOM 教學中,您可以學習更多有關 HTML DOM 的知識。 .


載入一個XML 檔案- 跨瀏覽器實例

下面的實例把XML 文件("note.xml")解析到XML DOM 物件中,然後透過JavaScript 提取一些訊息:

實例

<html>
<body>
<h1>php.cn</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>

<script>
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","note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>

</body>
</html>

運行實例»

點擊"運行實例"按鈕查看線上實例


重要註解!

如需從上面的XML 檔案("note.xml")的<to> 元素中提取文字"Tove",語法是:

getElementsByTagName("to" )[0].childNodes[0].nodeValue

請注意,即使XML 檔案只包含一個<to> 元素,您仍然必須指定陣列索引[0]。這是因為 getElementsByTagName() 方法傳回一個陣列。


載入一個XML 字串- 跨瀏覽器實例

下面的實例把XML 字串解析到XML DOM 物件中,然後透過JavaScript 提取一些資訊:

實例

<html>
<body>
<h1>PHP.CN</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>

<script>
txt="<note>";
txt=txt+"<to>Tove</to>";
txt=txt+"<from>Jani</from>";
txt=txt+"<heading>Reminder</heading>";
txt=txt+"<body>Don't forget me this weekend!</body>";
txt=txt+"</note>";

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);
 }

document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</body>
</html>

運行實例»

#點擊"運行實例" 按鈕查看線上實例


PHP中文網