PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPでDOM要素を反復処理するにはどうすればよいですか?


以下はXMLデータ(入力)-

<other data>
   <foo> <bar></bar>
      <value/>
   <pub></pub> </foo>
<foo>
   <bar></bar> <pub></pub>
</foo>
<foo>
   <bar></bar> <pub></pub>
</foo>
</other data>

DOMオブジェクトの要素を反復処理します。

$elements = $dom->getElementsByTagName('foo');
$data = array();
foreach($elements as $node){
   foreach($node->childNodes as $child) {
      $data[] = array($child->nodeName => $child->nodeValue);
   }
}

出力

これにより、次の出力が生成されます-

Every ‘foo’ tag will be iterated over and specific ‘bar’ and ‘pub’ value will be obtained, 
i.e specific child nodes can be accessed by their names itself.

XMLファイルの要素は、XMLファイルのすべてのノードでforeachループを実行することによって取得されます。 foreachループ内では、メインノードの子ノードが参照され、子ノードの子値にアクセスできます。


  1. JavaScript:ページ上のすべてのDOM要素をループして、コンソールに結果を表示するにはどうすればよいですか?

    ページ上のすべてのDOM要素をループするには、document.getElementsByTagName(‘*’)を使用します。その長さをループスルーし、次のコードのように結果をコンソールに表示します- var tags = document.getElementsByTagName("*"); for (var i=0, max=tags.length; i < max; i++) {    console.log(tags[i]); } 例 <!DOCTYPE html> <html lang="en"

  2. JavaScriptでgetElementsByClassName()を正しく反復する方法は?

    正しく反復するには、document.getElementsByClassName()を使用します。 ThegetElementsByClassName()は、methofodDocumentインターフェースです。 以下は、divクラスを反復処理しているタラです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=