2012-03-19 6 views
0

SimpleXmlObjectの要素にアクセスしようとしています。私は 'applicationID'だけにアクセスする必要がありますが、問題が発生しています。私は成功し、次のコードからSimpleXmlObjectを作成しました:これは(XML文字列が$xmlであると仮定して)各APPLICATIONIDの値をエコーし​​ますresponseHeaderを含むPHP SimpleXML

<response> 
    <lst name='responseHeader'> 
     <int name='status'>0</int> 
     <lst name='params'> 
     <str name='q'>applicationDateAdded:NOW()-1</str> 
     <str name='wt'>xml</str> 
     </lst> 
    </lst> 
    <result name='response' numFound='10' start='0'> 
     <doc> 
     <date name='applicationDateAdd'>2012-02-28T16:00:00Z</date> 
     <arr name='applicationDescript'> 
      <str>description</str> 
      <str>desc</str> 
     </arr> 
     <bool name='applicationFeatured'>false</bool> 
     <str name='applicationId'>APPID-00000000017</str> 
     <str name='id'>APPID-00000000017</str> 
     <str name='type'>APPLICATION</str> 
     </doc> 
     <doc>...</doc> 
     <doc>...</doc> 
     <doc>...</doc> 
     <doc>...</doc> 
     <doc>...</doc> 
     <doc>...</doc> 
     <doc>...</doc> 
     <doc>...</doc> 
     <doc>...</doc> 
    </result> 
</response> 

答えて

0

(私は10返答文書の切り捨て9をしました):

$xmlObj = simplexml_load_string($xml); 

foreach($xmlObj->result->doc as $doc) 
{ 
    foreach($doc->str as $str) 
    { 
     if($str->attributes()->name == 'applicationId') 
     { 
      echo 'applicationId: ' . (string)$str . '<br />'; 
      break 1; 
     } 
    } 
} 
1

ありがとうございました!私は約1ヶ月前にそれを解決しました(そして今まで私がここに投稿したことを忘れてしまった)。私のソリューションは少年少女であり、私のニーズに合わせてカスタマイズされていますが、私は似たような問題を持つ人を助けてくれることを嬉しく思っています。以下はループし、各属性の値を私に教えてくれます: