ホームページ  >  記事  >  バックエンド開発  >  XML ファイルをループする方法

XML ファイルをループする方法

WBOY
WBOYオリジナル
2016-06-20 12:34:31926ブラウズ

XML ファイルをトラバースするにはどうすればよいですか? それをデータベースに入れる必要がありますか?
4a7fa56882450b2fc4e006ee02cffdde
668c02319a569e7c2e32836e861a0654
045cd76d717ece532391e80a7c91bf01 > 27e76437dc2b6cd8a909643e94194bd0
695abc641be76864f52e1060a2ef5df6果物9572cdfa094ffb0c87adf52aa40c3069
/Evaluation>
e75c1c48b67f700680053ca7de15779f
"05dba75516095e3d639852051432ae9dその他9572cdfa094ffb0c87adf52aa40c3069
15e3b81a1e5451cb73b0d5ed55314041
10a00f4281f7bec78f4642562146db62
c0a4343180a4e6a55fd212510c2ad68d
トラバーサル後にフロントエンドにこの効果が欲しい





ディスカッションへの返信(解決策)

表示方法、自分で整理するだけ

表示方法は自分で整理するだけです


$s = <<<EOF<?xml version="1.0" encoding="utf-8"?><MedicalDiagnosis dataBlock="Root0">  <Evaluations total="2">	<Evaluation data="植物系统">	  <OBJECT data="苹果,梨">水果</OBJECT>	  <OBJECT data="竹子,富贵竹">乔木</OBJECT>	  <OBJECT data="菊花,康乃馨">花类</OBJECT>	  <OBJECT data="">其他</OBJECT>	</Evaluation>   	<Evaluation data="动物系统">	  <OBJECT data="老虎,狮子">陆</OBJECT>	  <OBJECT data="鱼,海马">海</OBJECT>	  <OBJECT data="">其他</OBJECT>	</Evaluation>  </Evaluations></MedicalDiagnosis>EOF;$x = simplexml_load_string($s);$data = [];foreach($x->Evaluations as $Evaluations){	foreach($Evaluations->Evaluation as $Evaluation){		$tmpData = current($Evaluation->attributes()->data);		if(!isset($data["$tmpData"])){			$data["$tmpData"] = [];		}		foreach($Evaluation->OBJECT as $OBJECT){			$data["$tmpData"]["$OBJECT"] = current($OBJECT->attributes()->data);		}	}}print_r($data);/*Array(    [植物系统] => Array        (            [水果] => 苹果,梨            [乔木] => 竹子,富贵竹            [花类] => 菊花,康乃馨            [其他] =>         )    [动物系统] => Array        (            [陆] => 老虎,狮子            [海] => 鱼,海马            [其他] =>         ))*/

先生、なぜ見つからないページを直接表示するのですか?

ページが見つかりません.... サーバー上でエラーが発生しているか、リンクが間違って書かれています...

$s = <<<EOF<?xml version="1.0" encoding="utf-8"?><MedicalDiagnosis dataBlock="Root0">  <Evaluations total="2">	<Evaluation data="植物系统">	  <OBJECT data="苹果,梨">水果</OBJECT>	  <OBJECT data="竹子,富贵竹">乔木</OBJECT>	  <OBJECT data="菊花,康乃馨">花类</OBJECT>	  <OBJECT data="">其他</OBJECT>	</Evaluation>   	<Evaluation data="动物系统">	  <OBJECT data="老虎,狮子">陆</OBJECT>	  <OBJECT data="鱼,海马">海</OBJECT>	  <OBJECT data="">其他</OBJECT>	</Evaluation>  </Evaluations></MedicalDiagnosis>EOF;$x = simplexml_load_string($s);$data = [];foreach($x->Evaluations as $Evaluations){	foreach($Evaluations->Evaluation as $Evaluation){		$tmpData = current($Evaluation->attributes()->data);		if(!isset($data["$tmpData"])){			$data["$tmpData"] = [];		}		foreach($Evaluation->OBJECT as $OBJECT){			$data["$tmpData"]["$OBJECT"] = current($OBJECT->attributes()->data);		}	}}print_r($data);/*Array(    [植物系统] => Array        (            [水果] => 苹果,梨            [乔木] => 竹子,富贵竹            [花类] => 菊花,康乃馨            [其他] =>         )    [动物系统] => Array        (            [陆] => 老虎,狮子            [海] => 鱼,海马            [其他] =>         ))*/

Web ページが見つかりません.... サーバー上のエラーです。サーバーが間違っているか、リンクが間違っています...
神様、[] を array() に変更するだけで済みます。これは、出力配列を thinkphp フロントエンドに出力する方法です。 volistの出力をネストする方法

[]はPHP 5.4+の書き方

フロントに割り当て

$this->assign('data',$data) ;

表示をループする方法と追加するスタイル...それはあなた次第です
http://document.thinkphp.cn/manual_3_2.html#volist

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