XML DOM 教學課程login
XML DOM 教學課程
作者:php.cn  更新時間:2022-04-13 15:27:56

DOM 取得節點


XML DOM 取得節點值


nodeValue 屬性用於取得節點的文字值。

getAttribute() 方法傳回屬性的值。


取得元素的值

在 DOM 中,每個成分都是節點。元素節點沒有文字值。

元素節點的文字儲存在子節點中。此節點稱為文字節點。

取得元素文字的方法,就是取得這個子節點(文字節點)的值。


取得元素值

getElementsByTagName() 方法傳回包含擁有指定標籤名稱的所有元素的節點列表,其中的元素的順序是它們在來源文件中出現的順序。

下面的程式碼透過使用loadXMLDoc() 把"books.xml" 載入xmlDoc 中並檢索第一個<title> 元素:

xmlDoc=loadXMLDoc("books .xml");

x=xmlDoc.getElementsByTagName("title")[0];

childNodes 屬性傳回子節點的清單。 <title> 元素只有一個子節點。它是一個文字節點。

下面的程式碼檢索<title> 元素的文字節點:

x=xmlDoc.getElementsByTagName("title")[0];
y=x.childNodes [0];

nodeValue 屬性傳回文字節點的文字值:

#實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p>你好世界!</p>
<div id="main">
<p> DOM 是非常有用的。</p>
<p>该实例展示了  <b>getElementsByTagName</b> 方法</p>
</div>
<script>
var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
document.write('id="main"元素中的第一个段落为:' + y[0].innerHTML);
</script>

</body>
</html>

執行實例»

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

結果:txt = "Everyday Italian"

遍歷所有<title> 元素:試試


取得屬性的值

在DOM 中,屬性也是節點。與元素節點不同,屬性節點擁有文字值。

取得屬性的值的方法,就是取得它的文字值。

可以透過使用 getAttribute() 方法或屬性節點的 nodeValue 屬性來完成這個任務。


取得屬性值 - getAttribute()

getAttribute() 方法傳回屬性

下面的程式碼檢索第一個<title> 元素的"lang" 屬性的文字值:

實例

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('book');
for (i=0;i<x.length;i++)
{
document.write(x[i].getAttribute('category'));
document.write("<br>");
} 
</script>
</body>
</html>

#運行實例»

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

結果:txt = "en"

實例解釋:

  1. 使用loadXMLDoc() 把"books.xml" 載入xmlDoc




  1. #把txt 變數設定為第一個title 元素節點的"lang" 屬性的值

  2. 遍歷所有的<book> 元素,並且取得它們的"category" 屬性:試試看

  3. 取得屬性值- getAttributeNode()

  4. getAttributeNode() 方法傳回屬性
節點


下面程式碼檢索第一個<title> 元素的"lang" 屬性的文字值:
###實例######
<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;
document.write(txt);
</script>
</body>
</html>
######## ##執行實例»######點擊"運行實例" 按鈕查看線上實例#########結果:Result:  txt = "en"######實例解釋:### #########使用loadXMLDoc() 把"books.xml" 載入xmlDoc 中############取得第一個<title> 元素節點的"lang" 屬性節點############把txt 變數設定為屬性的值#############遍歷所有的<book> 元素並取得它們的"category" 屬性:試試看#############

PHP中文網