2016-04-27 4 views
0

このxmlファイルを反復処理することはできません。私はsimplexml_load_file()を使用しています。誰にも解決策はありますか?御時間ありがとうございます。私は初心者です!SimpleXMLElementからPHPを繰り返し実行

SimpleXMLElement Object 
(
[ReferenceMember] => SimpleXMLElement Object 
    (
     [Agency] => SimpleXMLElement Object 
      (
       [ID] => xx 
       [ActivityID] => xxxxx 
       [ActivityReferenceID] => xxxxx 
      ) 

    ) 

[Member] => SimpleXMLElement Object 
    (
     [Agency] => SimpleXMLElement Object 
      (
       [ID] => xx 
       [ActivityID] => xxxx 
       [ActivityReferenceID] => xxxx 
      ) 

    ) 

[SubmissionID] => xxxx 
[Company] => xxxxx 

[Emails] => SimpleXMLElement Object 
    (
     [Email1] => [email protected] 
    ) 

[UploadedDate] => 24/11/14 
) 

これは、私はこれは私がによると、オブジェクトの値

var_dump($date->UploadedDate); 

object(SimpleXMLElement)#9 (1) { 
    [0]=> 
    string(8) "24/11/14" 
} 
+1

SimpleXMLオブジェクトのダンプではなく、実際に使用されているXMLを提供すると、サンプルを再現する方が簡単です。 – IMSoP

答えて

0

をアクセスもしようとしたとき、私は

array(1) { 
    ["DATE"]=> 
    NULL 
} 

を得るものです

$data = simplexml_load_file($file); 

foreach ($data as $item) { 

     foreach ($item->item as $entry) { 
      $this->set_date($entry->UploadedDate); 

     } 

} 

$array = array(
      "DATE" => $this->get_date() 

     ); 

var_dump($array); 

を試みたものですあなたが私たちに与えた情報、あなたはループする必要はありませんあなたが唯一の答えをしたい、とあなたは正確に知っているので、全く、どこにそれを見つけるために:私はここに(string)を使用しました

$data = simplexml_load_file($file); 
$this->set_date((string)$data->UploadedDate); 

注意を。これはSimpleXMLの魔法を見つけた値から削除します。これはおそらく後で欲しいものです。 echoはあなたのためにこれを行います。だから、echo $data->UploadedDate;はあなたが期待するものを表示します。

+0

お返事ありがとうございました。それはこのように動作します。しかし、日付形式を変更しようとすると '$ this-> date = date(" Y-m-d "、$ date);'この日付は "1970-01-01"となります。あなたがこの問題について考えているかどうかを教えてください。再度、感謝します! – Prosp

+0

@ S.B 'date()'は、タイムスタンプ(1970年以降の秒数を表す整数)を想定しています。フォーマット済みの文字列ではありません。あるフォーマットから別のフォーマットに変換する最も簡単な方法は、 '$ timestamp = strtotime($ formatted_date);を使用することです。エコー日付( 'Y-m-d'、$ timestamp);または$ dateObject = new DateTime($ formatted_date); echo $ dateObject-> format( 'Y-m-d'); '(この質問は何も関係していないので、まだ動かない場合は、新しい質問を探したり質問してください。 – IMSoP

関連する問題