溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

什么是XML DOM

發(fā)布時間:2020-07-14 09:34:13 來源:億速云 閱讀:128 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)什么是XML DOM,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

XML DOM

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

DOM 把 XML 文檔作為樹結(jié)構(gòu)來查看。能夠通過 DOM 樹來訪問所有元素??梢孕薷幕騽h除它們的內(nèi)容,并創(chuàng)建新的元素。元素,它們的文本,以及它們的屬性,都被認(rèn)為是節(jié)點(diǎn)。

在下面的例子中,我們使用 DOM 引用從 <to> 元素中獲取文本:

xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue
  • xmlDoc -由解析器創(chuàng)建的 XML 文檔

  • getElementsByTagName("to")[0] - 第一個 <to> 元素

  • childNodes[0] - <to> 元素的第一個子元素(文本節(jié)點(diǎn))

  • nodeValue - 節(jié)點(diǎn)的值(文本本身)

HTML DOM

HTML DOM (HTML Document Object Model) 定義一套訪問和操作 HTML 文檔的標(biāo)準(zhǔn)方法。

可以通過 HTML DOM 訪問所有 HTML 元素。

在下面的例子中,我們使用 DOM 引用來改變 id="to" 的 HTML 元素的文本:

document.getElementById("to").innerHTML=
  • document - HTML 文檔

  • getElementById("to") - 其中的 id="to" 的 HTML 元素

  • innerHTML - HTML 元素的內(nèi)部文本

解析 XML 文件 - 跨瀏覽器實(shí)例

下列代碼把一個 XML 文檔 ("note.xml") 載入 XML 解析器中:

<html>
<head>
<script type="text/javascript">
function parseXML()
{
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e)
    {
    alert(e.message);
    return;
    }
  }
xmlDoc.async=false;
xmlDoc.load("note.xml");

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>
</head>

<body onload="parseXML()">
<h2>W3School.com.cn Internal Note</h2>
<p><b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</p>
</body>
</html>

輸出:

To: GeorgeFrom: JohnMessage: Don't forget the meeting!

重要注釋

如需從 XML 中提取文本 "John",語法是:

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

在這個 XML 例子中,只有一個 <from> 標(biāo)簽中,但是仍然需要規(guī)定數(shù)組的下標(biāo) [0],這是因?yàn)?XML 解析器方法 getElementsByTagName() 返回所有 <from> 節(jié)點(diǎn)的一個數(shù)組。

解析 XML 字符串 - 跨瀏覽器實(shí)例

下面的代碼加載并解析一個 XML 字符串:

<html>
<head>
<script type="text/javascript">
function parseXML()
{
text="<note>";
text=text+"<to>George</to>";
text=text+"<from>John</from>";
text=text+"<heading>Reminder</heading>";
text=text+"<body>Don't forget the meeting!</body>";
text=text+"</note>";
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);
    return;
    }
  }
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>
</head>

<body onload="parseXML()">
<h2>W3School.com.cn Internal Note</h2>
<p><b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</p>
</body>
</html>

輸出:

To: GeorgeFrom: JohnMessage: Don't forget the meeting!

看完上述內(nèi)容,你們對什么是XML DOM有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)
推薦閱讀:
  1. Python操作xml
  2. 解析XML

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI