XML DOM

2018-11-22 17:43 更新

XML DOM

XML 的基礎(chǔ)是文檔對(duì)象模型(DOM),一個(gè) DOM 文檔是一組層次組織的節(jié)點(diǎn)或信息塊,通過(guò)這個(gè)層次結(jié)構(gòu)開(kāi)發(fā)人員可以在導(dǎo)航樹(shù)中尋找特定信息。


DOM(Document Object Model 文檔對(duì)象模型)定義了訪問(wèn)和操作文檔的標(biāo)準(zhǔn)方法。


XML DOM

XML DOM(XML Document Object Model)定義了訪問(wèn)和操作 XML 文檔的標(biāo)準(zhǔn)方法。

XML DOM 把 XML 文檔作為樹(shù)結(jié)構(gòu)來(lái)查看。

所有元素可以通過(guò) DOM 樹(shù)來(lái)訪問(wèn)??梢孕薷幕騽h除它們的內(nèi)容,并創(chuàng)建新的元素。元素,它們的文本,以及它們的屬性,都被認(rèn)為是節(jié)點(diǎn)。

在我們的 XML DOM 教程中,您可以學(xué)習(xí)更多有關(guān) XML DOM 的知識(shí)。


HTML DOM

HTML DOM 定義了訪問(wèn)和操作 HTML 文檔的標(biāo)準(zhǔn)方法。

所有 HTML 元素可以通過(guò) HTML DOM 來(lái)訪問(wèn)。

在我們的 HTML DOM 教程中,您可以學(xué)習(xí)更多有關(guān) HTML DOM 的知識(shí)。.


加載一個(gè) XML 文件 - 跨瀏覽器實(shí)例

下面的實(shí)例把 XML 文檔("note.xml")解析到 XML DOM 對(duì)象中,然后通過(guò) JavaScript 提取一些信息:

實(shí)例

<html>
<body>
<h1>W3Cschools Internal Note</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",語(yǔ)法是:

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

請(qǐng)注意,即使 XML 文件只包含一個(gè) <to> 元素,您仍然必須指定數(shù)組索引 [0]。這是因?yàn)?getElementsByTagName() 方法返回一個(gè)數(shù)組。


加載一個(gè) XML 字符串 - 跨瀏覽器實(shí)例

下面的實(shí)例把 XML 字符串解析到 XML DOM 對(duì)象中,然后通過(guò) JavaScript 提取一些信息:

實(shí)例

<html>
<body>
<h1>W3Cschools Internal Note</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>

嘗試一下 ?

在下一節(jié)內(nèi)容中,你將了解如何在 HTML 頁(yè)面中顯示 XML 數(shù)據(jù)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)