下記のようなXMLをツリー形式(?)でリスト表示するにはどうすれば良いのでしょうか。
(XML)
<crop>
<name>りんご</name>
<vegf>
<name>くだもの</name>
</vegf>
</crop>
<crop>
<name>さくらんぼ</name>
<vegf>
<name>くだもの</name>
</vegf>
</crop>
<crop>
<name>にんじん</name>
<vegf>
<name>やさい</name>
</vegf>
</crop>
<crop>
<name>かぼちゃ</name>
<vegf>
<name>やさい</name>
</vegf>
</crop>
↑をこんな風↓に表示させたいです。
(リスト)
■くだもの
┣りんご
┗さくらんぼ
■やさい
┣にんじん
┗かぼちゃ
$xml = simplexml_load_file("crop.xml");
foreach ($xml->crop as $crop) {
echo $crop->name ;
}
ここまで書いてみましたが"vegfが同じものをまとめる"ことができなくて
挫折してしまいました…。
どなたかご教授ください。よろしくおねがいします。
環境はPHP Version 5.2.10です。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
simpleXMLを使用して、簡単に実装できます。
下記のURLを参照してください。
dlの形式になったら
後はCSSで調整するのがBESTかと思われます。
参考URL:http://lab.aica.ac.jp/tips/tips/phpxml.html
No.1
- 回答日時:
<?php
header("Content-Type:text/plain");
$xml = simplexml_load_file("Q5388120-1.xml");
$nodes = $xml->xpath("/crops/crop[count(self::crop[preceding-sibling::crop/vegf/name = ./vegf/name]) = 0 ] ");
foreach ($nodes as $node) {
print("■" . (string)$node->vegf->name . "\n");
foreach ($xml->crop as $crop) {
if((string)$crop->vegf->name == (string)$node->vegf->name){
print(" ●" . (string)$crop->name . "\n");
}
}
}
/* 本当はXSLTやXQueryの方が好き。*/
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- フリーソフト Googleスプレッドシートで特定の言葉が含まれる行の色分けをしたいのですが 4 2022/04/30 15:29
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- PHP 画像が表示出来ません。 1 2023/02/02 16:30
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- その他(プログラミング・Web制作) パイソン初心者です 4 2022/06/29 06:49
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Flaskでサーバー立ち上げに関して
-
配列の値
-
ファイル名を変更してアップロ...
-
foreachがうまく動かない
-
POSTの項目に追加
-
【かなり初歩的な質問です】php...
-
$_REQUESTの意味を教えて下さい
-
パラメータを2個つけたい
-
UPDATEできない
-
phpでショッピングカート機能を...
-
PHPからHTMLへの変数の受け...
-
<input type="hidden" >で配列...
-
複数のセレクトボックスを1つに...
-
PHP ボタンが押されたら処理を...
-
PHPで、ボタンを押すと同じペー...
-
【PHP&JavaScript】複数の別ウ...
-
フォームへの前回入力値をクリ...
-
syntax error, unexpected '}' ...
-
PHPでフォームから任意の画像削...
-
$_SESSIONについて教えて下さい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複を防ぐ記述について教えて...
-
VBA で、スペースを含むファイ...
-
PHPで入力フォームでデータを確...
-
Flaskでサーバー立ち上げに関して
-
phpで変数を使ってcopyできない
-
PHPからHTMLへの変数の受け...
-
ファイル名を変更してアップロ...
-
$_SESSIONに渡した後はそのまま...
-
テキストボックスの値を取得したい
-
openCVのトラックバーについて
-
scanfでの読み込み文字数制限
-
PHP MySql 画像を取得
-
アップロードファイル名の文字化け
-
Fortranでのファイル名操作につ...
-
ポインタ配列をfscanfで読み込...
-
WordのIDataObject::GetData呼...
-
UPDATEできない
-
C# 同じ処理をまとめたい
-
イタリア人がCatherineと聞いた...
-
mySQLのデータを多次元配列に格...
おすすめ情報