-
- /**
- * XML ファイルをトラバースして解析して配列にする
- * bbs.it-home.org を編集する
- */
- public function parseXML($menus){
- $result = array();
- foreach($menus as $menu){
- $tmparr = array ();
-
- // 空のテキスト ノードの処理方法 A
- if( $menu->nodeName !='#text'){
-
- // 子要素を取得するときにテキスト ノードをスキップします - 空を処理するためのメソッド B
- テキスト ノード for($i=1; $ichildNodes->length; $i+=2) {
- $aNode = $menu->childNodes->item($i);
-
- // 子要素の走査
- $aNode->childNodes->length > $tmparr[$aNode->nodeName] = $this->parseXML( $aNode->childNodes)
- : $tmparr[ $aNode ->nodeName] = $aNode->nodeValue;
- }
- array_push($result,$tmparr);
- }
- }
- return $result;
- }
- $doc = new DOMDocument();
- $doc -> ;load ( 'a.xml' );
-
- //空のテキストノードを持つ最初のタイプ
- $menus = $doc->getElementsByTagName('siteMap')->item(0)->childNodes ;
-
- //2 番目のタイプはラベルを明確に指定し、シーケンスには空のテキスト ノードがありません。しかし、子要素にはまだ空のノードがあります
-
- $xpath = new DOMXPath($doc);
- $query = "/siteMap/child::a";
- $menus = $xpath->query($query);
- ? >
コードをコピー
多くの PHP チュートリアルには、PHP による XML ファイルの操作に関する内容が含まれており、初心者が参照するのに適しています。
Programmer's Home の皆様の学習と進歩がますますご発展されることをお祈りしております。
|