XML DOM チュートリアルlogin
XML DOM チュートリアル
著者:php.cn  更新時間:2022-04-13 15:27:56

DOM 取得ノード


XML DOM ノード値の取得


nodeValue 属性は、ノードのテキスト値を取得するために使用されます。

getAttribute() メソッドは属性の値を返します。


要素の値を取得する

DOM では、各コンポーネントはノードです。要素ノードにはテキスト値がありません。

要素ノードのテキストは子ノードに格納されます。このノードをテキストノードと呼びます。

要素テキストを取得する方法は、この子ノード(テキストノード)の値を取得することです。


要素値の取得

getElementsByTagName() メソッドは、指定されたタグ名を持つすべての要素を含むノード リストを返します。要素はソース ドキュメントに出現する順序になっています。

次のコードは、「books.xml」を xmlDoc にロードし、loadXMLDoc() を使用して最初の <title> 要素を取得します。 title")[0];

childNodes プロパティは子ノードのリストを返します。 <title> 要素には子ノードが 1 つだけあります。テキストノードです。

次のコードは、<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" 属性のテキスト値を取得します:

Instance

<!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にロードします

  2. txt変数を最初のタイトル要素ノードの"lang"に設定します属性

すべての <book> 要素を反復処理し、その "category" 属性を取得します: 試してみましょう


属性値を取得します - getAttributeNode()

getAttributeNode() メソッドは属性 ノード を返します。

次のコードは、最初の <title> 要素の "lang" 属性のテキスト値を取得します:

Instance

<!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>

Run Instance»

オンラインで表示するには、[Run Instance] ボタンをクリックします。インスタンス

結果 :結果: txt = "en"

例の説明:

  1. loadXMLDoc()を使用して、"books.xml"をxmlDocにロードします

  2. 最初の<の"lang"属性を取得します;title> 要素ノード

  3. ノードは txt 変数を属性

の値に設定します すべての <book> 要素を反復処理して、その "category" 属性を取得します: 試してみてください