下記のような、プログラムを書いたのですが、上のタイトルはとれるのですが、連続して出てくるentryがどうしても取得できません。
何かご助言頂ければありがたいです。
my $url = "http://blog.livedoor.jp/takapon_ceo/atom.xml";
my $xml = get($url);
my $tree = XMLin($xml);
my $title = $tree->{title};
print "$title";
for (my $i = 0; $i <= 5; $i++) {
$id[$i] = $tree->{'entry'}->[$i]->{'id'};
print "$id[$i]";
}
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
use Data::Dumper; をして Dumper($tree->{entry}) を表示すれば分かりますが、その実体は配列ではなくハッシュです。
このハッシュのキーは各エントリの id で、id は投稿順に文字列昇順となっていますから、キーをソートして値を取り出せばOKです。
# IDリストの取り出し(新着順にしたいので降順にソート)
my @entries_id = sort {$b cmp $a} keys %{$tree->{entry}};
foreach my $id (@entries_id) {
print "$id\n";
# 各要素へのアクセス
my $entry = $tree->{entry}->{$id};
print "$entry->{title}\n";
print "$entry->{summary}->{content}\n";
}
# この結果は $tree = XMLin($xml) とした場合のものです。
# インデントに全角空白を使っているので、コピーする場合はタブなどに置換して下さい。
サンプルコードまでご用意頂きありがとうございました。
ありがとうございました。
おかげさまで無事動作させることができました。
Dumperもデバッグに使えそうですね。
No.1
- 回答日時:
こんな感じ?
----------------------------------------------------
use encoding 'UTF-8', STDOUT => "shiftjis";
use LWP::Simple;
use XML::Simple;
my $url = "http://blog.livedoor.jp/takapon_ceo/atom.xml";
my $xml = get($url);
my $tree = XMLin($xml, forcearray=>1);
my $title = $tree->{title}->[0];
print "$title\n";
for my $entry (@{$tree->{entry}}) {
$id[$i] = $entry->{'id'}->[0];
print "$id[$i]\n";
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- YouTube youtubeからの著作権メールについて 2 2023/02/14 16:12
- 英語 英文について教えて下さい。 2 2022/06/14 10:37
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- 英語 horseshoe pitch 1 2022/03/31 02:46
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- PHP PHP ページング データベース 1 2022/06/16 10:30
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
標準入力からデータが読込めない
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
WEBページを強制的に横画面で見...
-
select値をhiddenのvalueに渡し...
-
pythonのnumpyでの列(縦)ベク...
-
日本語文字化け(GETメソッド?)
-
EXCELとの連携
-
チェックボックスグループの一...
-
HTML プルダウンメニューの選択...
-
vsftpd+sslでアップロードできない
-
iis+cgiでmultipart/form-data...
-
Javascriptの変数をCGIに送る方法
-
INPUT TYPE
-
VB.net データーグリッドビュー...
-
チェックボックスの返す値
-
CGI経由でのPDFファイルをダウ...
-
「value」に2つの値をセットす...
-
postデータのあるページの再表示
-
VB初心者。小数点以下の表示で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバーのテキストファイルを...
-
XML::Simpleの使い方について
-
IIS の@INC ERRORについて教えて
-
Mechanizeにおけるボタンクリッ...
-
perl の grepで 全角カタカナで...
-
フォームメール確認用ページ
-
標準入力からデータが読込めない
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
チェックボックスの返す値
-
INPUT TYPE
-
WEBページを強制的に横画面で見...
-
[HTML]プルダウンメニューの横...
-
VB.net データーグリッドビュー...
-
別formのhidden項目を自form値...
-
FORMのselectの選択肢を最初か...
-
VB初心者。小数点以下の表示で...
-
EXCELとの連携
おすすめ情報