ホームページ >バックエンド開発 >PHPチュートリアル >PHP は XML を走査して解析して配列実装コードを生成します

PHP は XML を走査して解析して配列実装コードを生成します

WBOY
WBOYオリジナル
2016-07-25 08:58:49923ブラウズ
  1. /**
  2. * XML ファイルをトラバースして解析して配列にする
  3. * bbs.it-home.org を編集する
  4. */
  5. public function parseXML($menus){
  6. $result = array();
  7. foreach($menus as $menu){
  8. $tmparr = array ();
  9. // 空のテキスト ノードの処理方法 A
  10. if( $menu->nodeName !='#text'){
  11. // 子要素を取得するときにテキスト ノードをスキップします - 空を処理するためのメソッド B
  12. テキスト ノード for($i=1; $ichildNodes->length; $i+=2) {
  13. $aNode = $menu->childNodes->item($i);
  14. // 子要素の走査
  15. $aNode->childNodes->length > $tmparr[$aNode->nodeName] = $this->parseXML( $aNode->childNodes)
  16. : $tmparr[ $aNode ->nodeName] = $aNode->nodeValue;
  17. }
  18. array_push($result,$tmparr);
  19. }
  20. }
  21. return $result;
  22. }
  23. $doc = new DOMDocument();
  24. $doc -> ;load ( 'a.xml' );
  25. //空のテキストノードを持つ最初のタイプ
  26. $menus = $doc->getElementsByTagName('siteMap')->item(0)->childNodes ;
  27. //2 番目のタイプはラベルを明確に指定し、シーケンスには空のテキスト ノードがありません。しかし、子要素にはまだ空のノードがあります
  28. $xpath = new DOMXPath($doc);
  29. $query = "/siteMap/child::a";
  30. $menus = $xpath->query($query);
  31. ? >
コードをコピー

多くの PHP チュートリアルには、PHP による XML ファイルの操作に関する内容が含まれており、初心者が参照するのに適しています。 Programmer's Home の皆様の学習と進歩がますますご発展されることをお祈りしております。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。