1

以下のxml応答で

<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">1</int>
  </lst>
  <lst name="initArgs">
    <lst name="defaults">
      <str name="config">../conf/dataconfig.xml</str>
    </lst>
  </lst>
  <str name="status">busy</str>
  <str name="importResponse">A command is still running...</str>
  <lst name="statusMessages">
    <str name="Time Elapsed">0:0:7.942</str>
    <str name="Total Requests made to DataSource">1</str>
    <str name="Total Rows Fetched">8831</str>
    <str name="Total Documents Processed">8830</str>
    <str name="Total Documents Skipped">0</str>
    <str name="Full Dump Started">2013-06-03 22:15:11</str>
  </lst>
  <str name="WARNING">
    This response format is experimental. It is likely to change in the future.
  </str>
</response>

2 つの値にアクセスする必要があります。

<str name="status">busy</str>  --  busy
<str name="Total Rows Fetched">8831</str>  --  8831

以下のコードを使用します。

$xml = simplexml_load_string($string); 
echo $xml->str[0];

"busy"にアクセスできますが、 "8831"にアクセスする方法がわかりません。

4

2 に答える 2

0

var_dump($xml);を使用します。 xml オブジェクトを理解する。例 #1 を読む XML 文字列の例を解釈するhttp://php.net/manual/en/simplexmlelement.attributes.php 次のようになります。

foreach($xml->foo[0]->attributes() as $a => $b) { 
      if($a=="Total Rows Fetched"){
         echo $b;    
      }    
  }
于 2013-06-03T17:00:58.043 に答える