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

DOM 削除ノード


XML DOM ノードの削除


removeChild() メソッドは、指定されたノードを削除します。

removeAttribute() メソッドは、指定された属性を削除します。



tryitimg.gif試してみる - 例

以下の例では、XML ファイル Books.xml を使用します。
外部 JavaScript にある関数loadXMLDoc()は、XML ファイルをロードするために使用されます。

要素ノードの削除
この例では、removeChild() を使用して最初の <book> 要素を削除します。

現在の要素ノードを削除します
この例では、parentNode とremoveChild() を使用して、現在の <book> 要素を削除します。

テキスト ノードの削除
この例では、removeChild() を使用して、最初の <title> 要素のテキスト ノードを削除します。

テキスト ノードのテキストをクリアする
この例では、nodeValue() 属性を使用して、最初の <title> 要素のテキスト ノードをクリアします。

名前で属性を削除する
この例では、removeAttribute() を使用して、最初の <book> 要素から「category」属性を削除します。

オブジェクトに基づいて属性を削除する
この例では、removeAttributeNode() を使用して、すべての <book> 要素からすべての属性を削除します。


要素ノードの削除

removeChild()メソッドは、指定されたノードを削除します。

ノードが削除されると、そのすべての子ノードも削除されます。

次のコード スニペットは、読み込まれた xml から最初の <book> 要素を削除します:

インスタンス

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

document.write("Number of book nodes: ");
document.write(xmlDoc.getElementsByTagName('book').length);
document.write("<br>");

y=xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);

document.write("Number of book nodes after removeChild(): ");
document.write(xmlDoc.getElementsByTagName('book').length);

</script>
</body>
</html>

インスタンスの実行»

オンライン インスタンスを表示するには、[インスタンスの実行] ボタンをクリックします

説明例:

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

  2. 変数yを削除する要素ノードに設定します

  3. removeChildを使用して親ノードから要素を削除します() メソッド Node


自体を削除 - 現在のノードを削除します

removeChild() メソッドは、指定されたノードを削除できる唯一のメソッドです。

削除する必要があるノードに移動したら、parentNode 属性とremoveChild() メソッドを使用してこのノードを削除できます:

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

document.write("Number of book nodes before removeChild(): ");
document.write(xmlDoc.getElementsByTagName("book").length);
document.write("<br>");

x=xmlDoc.getElementsByTagName("book")[0]
x.parentNode.removeChild(x);

document.write("Number of book nodes after removeChild(): ");
document.write(xmlDoc.getElementsByTagName("book").length);

</script>
</body>
</html>

Run Instance»

「」をクリックします「インスタンスを実行」ボタン オンラインの例を表示

例の説明:

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

  2. 変数yを削除する要素ノードに設定します

  3. parentNode属性とremoveChild()を使用するメソッド この要素ノードを削除します


テキスト ノードを削除します

removeChild() メソッドを使用してテキスト ノードを削除できます:

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");


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

document.write("Child nodes: ");
document.write(x.childNodes.length);
document.write("<br>");

y=x.childNodes[0];
x.removeChild(y);

document.write("Child nodes: ");
document.write(x.childNodes.length);
</script>
</body>
</html>

インスタンスを実行する»

「インスタンスを実行」ボタンをクリックして、オンラインインスタンスを表示します

例の説明:

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

  2. 変数xを最初のタイトル要素ノードに設定します

  3. 変数yを設定します削除するテキストにノード

  4. removeChild() メソッドを使用して親ノードから要素を削除します。ノード

あまり一般的ではありませんが、removeChild() はノードからテキストを削除します。代わりに、nodeValue 属性を使用できます。次の段落を参照してください。


テキスト ノードをクリアする

nodeValue 属性を使用して、テキスト ノードの値を変更またはクリアできます:

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

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

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

document.write("Value: " + x.nodeValue);
document.write("<br>");

x.nodeValue="";

document.write("Value: " + x.nodeValue);
</script>
</body>
</html>

インスタンスの実行»

「インスタンスの実行」ボタンをクリックして、オンライン例

インスタンスの説明:

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

  2. 変数xを最初のタイトル要素のテキストノードに設定します

  3. nodeValue属性を使用しますテキスト ノードのテキストをクリアします

すべての <title> 要素のテキスト ノードを変更します: 試してみてください


名前に基づいて属性ノードを削除します

removeAttribute(name) メソッドを使用します名前に基づいて属性ノードを削除します。

例:removeAttribute('category')

次のコード スニペットは、最初の <book> 要素の「category」属性を削除します。 「例」ボタンをクリックしてオンライン例を表示します

例の説明:

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

  2. getElementsByTagName()を使用して書籍ノードを取得します

  3. 最初の書籍要素ノードから「category」を削除します

すべての <book> 要素の「category」属性をトラバースして削除します: 試してください


オブジェクトに基づいて属性ノードを削除します

removeAttributeNode(node) メソッドは、ノード オブジェクトをパラメータとして使用して属性ノードを削除します。

例:removeAttributeNode(x)

次のコード スニペットは、すべての <book> 要素のすべての属性を削除します。オンライン例

例の説明:


loadXMLDoc()を使用して「books.xml」をxmlDocにロードします

getElementsByTagName()を使用してすべてのbookノードを取得します

    各book要素に属性があるかどうかを確認します
  1. book要素に属性が存在する場合は、その属性を削除します