【问题标题】:return data from xml using php使用php从xml返回数据
【发布时间】:2015-06-04 09:52:36
【问题描述】:

我有一个 MindBody API link (https://api.mindbodyonline.com/0_5/ClassService.asmx?WSDL) 从中我希望使用 php 获取数据。我可以通过以下代码获取课程表:

$parameters = array(
    'StartDateTime' => date('Y-m-d'), 
    'EndDateTime'   => date('Y-m-d', strtotime('today + 7 days'))
);
$data = $notASoapClient->GetClasses($parameters);

if (!empty($data['GetClassesResult']['Classes']['Class'])) 
{
    $classes = $notASoapClient->makeNumericArray($data['GetClassesResult']['Classes']['Class']);
    print_r($classes);
}

但我无法获取 GetClassVisits 数据,该数据将包含每个班级的学生名单。谁能告诉我怎么做?

【问题讨论】:

  • 从您的回答的反应来看,因为makeNumericArray 不是网络服务中的请求,看起来$mb 不是SoapClient。到目前为止,这可能隐藏在问题中,我更改了变量名称以清楚地说明这一点。也许代码被隐藏了,问题就不清楚了。

标签: php xml soap wsdl


【解决方案1】:

从您链接到的 wsdl 似乎有一个方法 GetClassVisits。由于您已经知道如何在 Web 服务 ($data = $mb->GetClasses(array('StartDateTime'=>date('Y-m-d'), 'EndDateTime'=>date('Y-m-d', strtotime('today + 7 days'))))) 中调用一种方法,因此您应该能够调用 GetClassVisits。据我所知,它需要一个GetClassVisitsRequest,其中包含一个ClassID

$mb->GetClasses(array('ClassID'=>12345));

【讨论】:

  • 我仍在获取课程的详细信息,但不是客户注册的课程,而且在您的代码中,您还显示了一个课程,我希望获得所有学生的所有课程,你能提供一个详细的代码吗,我在获取这个特定的数据时遇到了很大的困难
  • @sammy 相同的逻辑适用于所有可用的方法,因此您应该阅读 API 文档(如果有)或从 WSDL 推断其他方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-01
  • 2011-03-01
  • 2020-02-06
  • 2016-10-26
相关资源
最近更新 更多