【问题标题】:Symfony2 send a POST request to an external API and parse its XML response?Symfony2 向外部 API 发送 POST 请求并解析其 XML 响应?
【发布时间】:2016-05-01 18:02:30
【问题描述】:

如何向外部 API 发送 POST 请求并解析其 XML 响应?

通常只使用 php 和 xml 我会做something like 。但我不确定如何使用 Symfony 来做同样的事情。

另外请注意,xml 文件中的内容是动态的,例如“Itemnumber”、“quantity”等

更多信息:

我正在尝试将 xml 数据发送到我们的第三方客户端系统(他们只使用 XML,因此没有 JSON 响应)并解析此 XML 响应并将其展示给我们的客户。好吧,由于客户请求是动态的,因此 .xml 文件中的内容每次都会更改。所以我需要弄清楚

  1. 加载此动态 .xml 文件。
  2. 使用 POST 建立连接。
  3. 读取我从客户那里收到的 Parse Xml 数据(这很容易完成)。

【问题讨论】:

  • 见:stackoverflow.com/questions/561816/…。我认为符合您的需求。使用 curl 你可以做一个 post 请求
  • 但是 xml 文件的内容是动态的,所以我还需要弄清楚如何将参数传递给 xml 文件
  • “动态”是什么意思?您的问题是如何通过 POST 请求发送和使用参数?
  • 哦,我的意思是使用参数..我遇到了这个stackoverflow.com/questions/21480159/…让你知道它是怎么回事

标签: php xml symfony


【解决方案1】:

好的,我让它工作了。很简单

第 1 步:按照hereSee Example1 所述创建 XMLDocument。

public function XMLDocument($param){

// Code from the link

return $xmlDoc;
}

第 2 步:建立连接:使用this 并获取 XML 对象

public function APiConnection($xmldoc){

 // code from the link

$reponse = curl_exec($ch);
$xmli = new SimpleXMLElement($response);
return $xmli; // returns XML Object
}

Step3:解析数据(很简单)

您的 Action 方法应如下所示:

public function DataAction(){

$doc = $this->XMLDocument($param);
$Data = $this->APiConnection($doc);

// parser the xml data
$price= $data->Items['0']->Price;

}

如果您发现任何错误,欢迎提出建议。

我也遇到过 Symfony 的this document,但没用过。

【讨论】:

    猜你喜欢
    • 2012-03-09
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 2020-07-29
    相关资源
    最近更新 更多