dongzhe6287 2013-06-03 16:58
浏览 39
已采纳

使用php [duplicate]访问xml属性

This question already has an answer here:

In an xml respone below

<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>

I need to access two values:

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

Using code below:

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

I am able to access value "busy" but I don't know how to access "8831".

</div>
  • 写回答

2条回答 默认 最新

  • duannuo4620 2013-06-03 17:08
    关注

    use Xpath:

    $xml = simplexml_load_string($x); // assuming XML in $x
    echo $xml->xpath("//str[@name='status']")[0];
    

    and do the same with the other value.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?