[PHP-users 34461] Re: XMLデータ取得について

Minoru.Harada harada @ acekoeki.co.jp
2009年 3月 23日 (月) 16:15:47 JST


小山様
ありがとうございます。

小山様のご指示のとおり、
simplexml_load_string() の手前でvar_dump($data);を
実行したところstring(2) " "となりました。

($obj->fetch($req);の直後でvar_dump($obj);を実行したところ
["results"]=> string(2) " "
となっておりました。
----------------------------------------------------------------------------
【var_dump($obj)】
object(Snoopy)#1 (41) { ["host"]=> string(12) "ri2.rois.com" ["port"]=>
int(80) ["proxy_host"]=> string(0) "" ["proxy_port"]=> string(0) ""
["proxy_user"]=> string(0) "" ["proxy_pass"]=> string(0) "" ["agent"]=>
string(13) "Snoopy v1.2.4" ["referer"]=> string(0) "" ["cookies"]=> array(0)
{ } ["rawheaders"]=> array(0) { } ["maxredirs"]=> int(5)
["lastredirectaddr"]=> string(0) "" ["offsiteok"]=> bool(true) ["maxframes"]
=> int(0) ["expandlinks"]=> bool(true) ["passcookies"]=> bool(true) ["user"]
=> string(0) "" ["pass"]=> string(0) "" ["accept"]=> string(56) "image/gif,
image/x-xbitmap, image/jpeg, image/pjpeg, */*" ["results"]=> string(2) " "
["error"]=> string(0) "" ["response_code"]=> string(16) "HTTP/1.0 200 OK "
["maxlength"]=> int(500000) ["read_timeout"]=> int(0) ["timed_out"]=>
bool(false) ["status"]=> string(3) "200" ["temp_dir"]=> string(4) "/tmp"
["curl_path"]=> string(19) "/usr/local/bin/curl" ["_maxlinelen"]=> int(4096)
["_httpmethod"]=> string(3) "GET" ["_httpversion"]=> string(8) "HTTP/1.0"
["_submit_method"]=> string(4) "POST" ["_submit_type"]=> string(33)
"application/x-www-form-urlencoded" ["_mime_boundary"]=> string(0) ""
["_redirectaddr"]=> bool(false) ["_redirectdepth"]=> int(0) ["_frameurls"]=>
array(0) { } ["_framedepth"]=> int(0) ["_isproxy"]=> bool(false)
["_fp_timeout"]=> int(30) ["headers"]=> array(16) { [0]=> string(16)
"HTTP/1.0 200 OK " [1]=> string(24) "Content-Type: text/html " [2]=>
string(1) " " [3]=> string(44) " " [4]=> string(1) " " [5]=> string(44) " "
[6]=> string(27) "954.35 " [7]=> string(27) "955.55 " [8]=> string(29) "950.
90 " [9]=> string(29) "952.90 " [10]=> string(44) "Reuters " [11]=>
string(34) "955.55 " [12]=> string(33) "949.85 " [13]=> string(40) "15:59
Asia/Tokyo " [14]=> string(39) "23 MAR 2009 " [15]=> string(7) " " } }
----------------------------------------------------------------------------

この中から

[6]=> string(27) "954.35 "
[7]=> string(27) "955.55 "
[8]=> string(29) "950.90 "
[9]=> string(29) "952.90 "
[10]=> string(44) "Reuters "
[11]=> string(34) "955.55 " 
[12]=> string(33) "949.85 "
[13]=> string(40) "15:59 Asia/Tokyo "
[14]=> string(39) "23 MAR 2009 "

の部分だけをうまく抽出することはできないでしょうか?
よろしくお願いいたします。




-----Original Message-----
From: php-users-bounces @ php.gr.jp [mailto:php-users-bounces @ php.gr.jp] On
Behalf Of KOYAMA Tetsuji
Sent: Monday, March 23, 2009 3:24 PM
To: PHP-users ML
Subject: [PHP-users 34460] Re:XMLデータ取得について

小山です。

2009/3/23 Minoru.Harada <harada @ acekoeki.co.jp>:
> <?php
> $req =
>
"http://ri2.rois.com/YSIiEha1148tDU*glRAVlJEjKTE5RX5PD0j-*62*Zupzs/CTIB/RI3A
> PISNAP?RIC=XAU=X&ENCODING=SHIFT_JIS&FORMAT=XML";
> require_once ('Snoopy.class.php');
> $obj = new Snoopy;
> $obj->fetch($req);
> $data = $obj->results;
> $xml = simplexml_load_string($data);
> ?>
>
> $xmlにデータを展開するところでエラーになってしまいます。
>
> 【エラー内容】
> Warning: Entity: line 2: parser error : Start tag expected, '<' not found
in
> C:\Program Files\Apache Group\Apache2\htdocs\kikinzoku\request.php on line
> 11

$data の中身がちゃんと返ってきていることを確認されましたか?

simplexml_load_string() の手前で

var_dump($data);

してみましょう。

-- 
    小山哲志@(まだ)ビート・クラフト
    koyama @ beatcraft.com
    koyama @ hoge.org
_______________________________________________
PHP-users mailing list  PHP-users @ php.gr.jp
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3






PHP-users メーリングリストの案内