PHPでXMLを扱いたいのですが、わからないところがあります。
<XML>
<T>
<A>
<a>
</a>
<b>
</b>
<c>
<c1></c1>
<c2></c2>
</c>
</A>
<A>
<a>
</a>
<b>
</b>
<c>
<c1></c1>
<c2></c2>
</c>
</A>
<A>
以下くりかし・・・
</T>
</XML>
このような感じのXMLがある時に、<a>,<b>等のタグの中身はちゃんと一つめの<A>、二つめの<A>、のように、
繰り返しある全てを取り出すことが来るのですが、
<c1>のようにもう一つ奥になっているものが取り出せません。
//以下成功するソースです。
foreach(XML->T->A as $value){
$data[]=$value->a;
}
for($i=0,$n=count($data);$i<$n;$i++){
$file=$data[$i];
}
echo $file;
これだとうまく動作しますが、
//以下失敗するソースです。
foreach(XML->T->A->c as $value){
$data[]=$value->c1;
}
for($i=0,$n=count($data);$i<$n;$i++){
$file=$data[$i];
}
echo $file;
このように<c1>を取り出そうとすると、繰り返しある<c1>の内の初めの一つしか取りだせません。
もう何回も色々と変えてやっているのですが、どれもうまくいきませんでした。
どうすればいいのでしょうか。分かる方教えて下さい、お願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは。
>同じやり方でも上の<a>の場合では複数出来るのに、何故下の<c1>の場合では出来ないのでしょうか?
foreach ( XML->T->A as $value ) {
}
<T>のなかにある<A>の個数ですのでサンプルxmlの繰り返しを考慮しないと2回。
foreach(XML->T->A->c as $value){
$data[]=$value->c1;
}
<T>の<A>の中に<c>は1個ですので1回。
XML-T-A分繰り返せばc1が全て取得できます。
下記サンプルを参考にしてください。
http://hppg.moe.hm/okwave/qa/q7291097/
No.1
- 回答日時:
こんばんは。
えーと・・・、これはホントのソース???
>for($i=0,$n=count($data);$i<$n;$i++){
>$file=$data[$i];
>}
>echo $file;
まぁ、普通に考えて、$fileが上書きされてるので・・・。
>繰り返しある<c1>の内の初めの一つしか取りだせません。
正確には2番目だけしか出ないです・・・はい。
この回答への補足
すみません、プログラミング初心者な者で・・・。
書き間違えました、正しくはこうでした。
for($i=0,$n=count($data);$i<$n;$i++){
$file=$data[$i];
echo $file;
}
恐らくこれでも間違えていると思うのですが、
同じやり方でも上の<a>の場合では複数出来るのに、何故下の<c1>の場合では出来ないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- Visual Basic(VBA) ワークシートごとに計算結果 2 2022/04/30 22:00
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヒアドキュメントの中のfor文
-
配列をファイルに書き込む方法
-
Ethnaでのsection使用法
-
CSVデータの行数カウントをした...
-
自動で番号を振りたい
-
pythonのファイルの並びでの読...
-
doxygenを使用する環境について
-
FortranのOPEN文
-
別ファイルの構造体の値を読み...
-
連想配列で
-
stdClass Objectを連想配列のよ...
-
複数行のデータのPOST処理に関して
-
読み(あ行~わ行)ごとに分け...
-
foreachで上限回数指定方法また...
-
特定の文からメールアドレスの...
-
postgresql関数をつかったレコ...
-
PHP 多次元配列変数のデータ受...
-
プルダウンメニューにDBの内容...
-
配列の要素(value)に、変数を...
-
pg_copy_fromの使い方について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの構造体の値を読み...
-
Resource id #3 と表示されま...
-
stdClass Objectを連想配列のよ...
-
CSVデータの行数カウントをした...
-
ヒアドキュメントの中のfor文
-
複数行のデータのPOST処理に関して
-
C言語でCSVファイルの行数を読...
-
While文を使って配列の中身を全...
-
行数が30万件ほどあるCSVから、...
-
CSVファイルの最終行のデー...
-
csvの内容を行単位で削除したい
-
バイナリファイルの内容を、そ...
-
doxygenを使用する環境について
-
PHPで、CSVファイルを、指定し...
-
FortranのOPEN文
-
csvファイルを読み込み→上書き...
-
PHPでCSVの一部の行を編集したい
-
ラジオボタンのチェックの付け方。
-
Ethnaでのsection使用法
-
CSVデータを正規表現で抜き出せ...
おすすめ情報