最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

XML DOM - 屬性和方法

屬性和方法向 XML DOM 定義了編程接口。

實例

下面的例子使用 XML 文件 books.xml

函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。

函數(shù) loadXMLString(),位于外部 JavaScript 中,用于加載 XML 字符串。

加載并解析 XML 文件
加載并解析 XML 字符串

編程接口

DOM 把 XML 模擬為一系列節(jié)點接口。可通過 JavaScript 或其他編程語言來訪問節(jié)點。在本教程中,我們使用 JavaScript。

對 DOM 的編程接口是通過一套標(biāo)準(zhǔn)的屬性和方法來定義的。

屬性經(jīng)常按照“某事物是什么”的方式來使用(例如節(jié)點名是 "book")。

方法經(jīng)常按照“對某事物做什么”的方式來使用(例如刪除 "book" 節(jié)點)。

XML DOM 屬性

一些典型的 DOM 屬性:

  • x.nodeName - x 的名稱
  • x.nodeValue - x 的值
  • x.parentNode - x 的父節(jié)點
  • x.childNodes - x 的子節(jié)點
  • x.attributes - x 的屬性節(jié)點

注釋:在上面的列表中,x 是一個節(jié)點對象。

XML DOM 方法

  • x.getElementsByTagName(name) - 獲取帶有指定標(biāo)簽名稱的所有元素
  • x.appendChild(node) - 向 x 插入子節(jié)點
  • x.removeChild(node) - 從 x 刪除子節(jié)點

注釋:在上面的列表中,x 是一個節(jié)點對象。

實例

從 books.xml 中的 <title> 元素獲取文本的 JavaScript 代碼:

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue

在此語句執(zhí)行后,txt 保存的值是 "Harry Potter"。

解釋:

  • xmlDoc - 由解析器創(chuàng)建的 XML DOM
  • getElementsByTagName("title")[0] - 第一個 <title> 元素
  • childNodes[0] - <title> 元素的第一個子節(jié)點 (文本節(jié)點)
  • nodeValue - 節(jié)點的值 (文本自身)

在上面的例子中,getElementsByTagName 是方法,而 childNodes 和 nodeValue 是屬性。

解析 XML 文件 - 跨瀏覽器實例

下面的代碼片段使用 loadXMLDoc 函數(shù)把 books.xml 載入 XML 解析器中,并顯示第一個 book 的數(shù)據(jù):

xmlDoc=loadXMLDoc("books.xml");

document.write(xmlDoc.getElementsByTagName("title")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year")
[0].childNodes[0].nodeValue);

輸出:

Harry Potter
J K. Rowling
2005

TIY

在上面的例子中,我們?yōu)槊總文本節(jié)點使用 childNodes[0],即使每個元素只有一個文本節(jié)點。這是由于 getElementsByTagName() 方法總是會返回數(shù)組。

解析 XML 字符串 - 跨瀏覽器實例

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

下面的代碼片段使用 loadXMLString 函數(shù)把 books.xml 載入 XML 解析器,并顯示第一個 book 的數(shù)據(jù):

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>";

xmlDoc=loadXMLString(text);

document.write(xmlDoc.getElementsByTagName("title")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year")
[0].childNodes[0].nodeValue);

輸出:

Harry Potter
J K. Rowling
2005

TIY

呼玛县| 始兴县| 清水县| 偃师市| 托克逊县| 阿克| 汪清县| 汤阴县| 孝昌县| 县级市| 上林县| 那坡县| 周口市| 沅江市| 余干县| 安阳县| 佳木斯市| 北宁市| 柳林县| 娱乐| 富川| 雷山县| 三穗县| 高要市| 武夷山市| 台江县| 云霄县| 齐河县| 桐庐县| 新宾| 大竹县| 荔浦县| 武平县| 阿克| 滨州市| 台中县| 罗定市| 峨山| 红河县| 集贤县| 和田市|