Php 访问xml对象中的数据的正确方法是什么

Php 访问xml对象中的数据的正确方法是什么,php,xml,Php,Xml,我正在从事一个API项目,在这个项目中,我得到一个XML对象作为响应。响应可以在NewOrder对象(如下)中包含一个或多个产品。但是,当我尝试使用foreach循环显示信息时,如果只有一个条目,则会中断。我想这是因为对象中不存在索引[0]。既然对象中没有[0]i,我如何通过xml对象进行显示。或者如何在对象中添加索引[0] object(stdClass)#49 (1) { ["NewOrder"] => object(stdClass)#50 (12) { ["BTN"] =>

我正在从事一个API项目,在这个项目中,我得到一个XML对象作为响应。响应可以在NewOrder对象(如下)中包含一个或多个产品。但是,当我尝试使用foreach循环显示信息时,如果只有一个条目,则会中断。我想这是因为对象中不存在索引[0]。既然对象中没有[0]i,我如何通过xml对象进行显示。或者如何在对象中添加索引[0]

object(stdClass)#49 (1) {
["NewOrder"] => object(stdClass)#50 (12) {
["BTN"] => string(10) "XXXXXXXXXXXXXXXxx"
["PreOrderTransactionId"] => string(22) "XXXXXXXX"
["PartnerOrderId"] => string(17) "XXXXXXXXXXX"
["QwestOrderId"] => string(9) "N57395699"
["SalesCode"] => string(7) "XXXXXXXX"
["OrderStatus"] => string(7) "Pending"
["OrderStatusCode"] => string(4) "OPEN"
["OrderStatusSourceSystem"] => string(5) "CPLUS"
["OrderStatusMessage"] => string(0) ""
["OrderStatusDate"] => string(10) "2013-12-09"
["OrderStatusTime"] => string(8) "08:02:30"
["ProductFamily"] => array(3) {
  [0] => object(stdClass)#51 (2) {
    ["ProductFamilyName"] => string(7) "BUNDLE+"
    ["ProductLines"] => object(stdClass)#52 (3) {
      ["WTN"] => string(10) "3033689919"
      ["AppointmentDate"] => string(10) "2013-12-20"
      ["Products"] => object(stdClass)#53 (5) {
        ["ProductName"] => string(36) "INTERNET 100+ MBPS & HOME PHONE PLUS"
        ["Usoc"] => string(5) "BBBVC"
        ["Quantity"] => string(1) "1"
        ["Action"] => string(1) "I"
        ["Status"] => string(4) "OPEN"
      }
    }
  }
 }
}
}
我尝试了以下方法,但无效:

if (!is_array($this->Orders->NewOrder)) {
$this->Order->NewOrder = array($this->Orders->NewOrder["NewOrder"]);

}
foreach ($this->Orders->NewOrder as $order){?>
我得到以下错误:
致命错误:无法将stdClass类型的对象用作

中的数组。我认为,如果NewOrder包含多个对象,则它只是一个数组。在循环之前使用类似的方法:

if (!is_array(yourObject["NewOrder"])) {
    yourObject["NewOrder"] = array(yourObject["NewOrder"]);
}

SoapClient有一个始终创建数组的选项,即使这里只有一个元素

return new SoapClient(
  '...',
  array(
    'location' => '...',
    /.../
    'features' => SOAP_SINGLE_ELEMENT_ARRAYS
  )
);

还有其他建议吗?