如何访问XML响应

时间:2017-09-17 06:43:12

标签: php xml

美好的一天,我想访问XML回复并echo显示其值,但我不知道该怎么做。我已经在StackOverflow中尝试了一些答案但是我失败了。

这是我的代码。

<?php
error_reporting(E_ALL);
require_once 'ruFunctions.php';

$rentalsUnited = new rentalsUnited();

$ru= $rentalsUnited->getOwners();

if($ru != null){
   $data= simplexml_load_string($ru);
   var_dump($data); // it will return boof(false)
   var_dump($ru);
   echo $data->Pull_ListAllOwners_RS->Status['ID']; //Trying to get property of non-object
}
?>

var_dump($ru);

的结果
object(SimpleXMLElement)#2 (3) {
  ["Status"]=>
  string(7) "Success"
  ["ResponseID"]=>
  string(32) "44065d9888304e8cba912bce4d131ab1"
  ["Owners"]=>
  object(SimpleXMLElement)#3 (1) {
    ["Owner"]=>
    object(SimpleXMLElement)#4 (7) {
      ["@attributes"]=>
      array(1) {
        ["OwnerID"]=>
        string(6) "429335"
      }
      ["FirstName"]=>
      string(5) "Test"
      ["SurName"]=>
      string(7) "Tester"
      ["CompanyName"]=>
      string(15) "Test Helpers"
      ["Email"]=>
      string(23) "info@Test.com"
      ["Phone"]=>
      string(12) "+13474707707"
      ["UserAccountId"]=>
      string(3) "602"
    }
  }
}

1 个答案:

答案 0 :(得分:1)

看起来$ ru已经是SimpleXMLElement了,所以尝试调用simplexml_load_string会失败。

您可以通过

查看一些细节
if($ru != null){
   echo $ru->Status;
}

你可以(可能)通过......列出所有者

if($ru != null){
   foreach ($ru->Owners->Owner as $owner ) {
     echo "ownerId=".$owner['OwnerID'].PHP_EOL;
     echo "FirstName=".$owner->FirstName.PHP_EOL;
   }
}