XML ファイルをループする方法
Jun 20, 2016 pm 12:34 PM XML ファイルをトラバースするにはどうすればよいですか? それをデータベースに入れる必要がありますか?
<?xml version="1.0" encoder="utf-8"?>
<MedicalDiagnosis dataBlock="Root0">
<評価合計="2"> > <評価データ="植物系">
<OBJECT data="リンゴ、梨">果物</OBJECT>
表示方法は自分で整理するだけです
$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 ( [陆] => 老虎,狮子 [海] => 鱼,海马 [其他] => ))*/
ログイン後にコピー
ログイン後にコピー
神様、[] を array() に変更するだけで済みます。これは、出力配列を thinkphp フロントエンドに出力する方法です。 volistの出力をネストする方法
[]はPHP 5.4+の書き方
フロントに割り当て
$this->assign('data',$data) ;表示をループする方法と追加するスタイル...それはあなた次第です
http://document.thinkphp.cn/manual_3_2.html#volist
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7297
9


Java チュートリアル
1622
14


CakePHP チュートリアル
1342
46


Laravel チュートリアル
1259
25


PHP チュートリアル
1206
29



LaravelのバックエンドでReactアプリを構築する:パート2、React
