如何在codeigniter中获取CURL发布的XML数据?

时间:2012-03-21 07:31:21

标签: xml codeigniter post curl

基本上工作流程如下:

1)某些第三方设备将通过curl发送/发布XML数据,如下所示:        curl --data-ascii~ / Desktop / abc.xml http://my-site.com/my-controller/my-function

2)在'my-function'中,我必须检查是否已发布某些数据。然后有条件地执行操作。

abc.xml中的XML格式如下

<root-node>
      <node>
          <a>xxx</a>
      </node>
      <node>
          <a>xxx</a>
      </node>
      <node>
           <a>xxx</a>
      </node>
   </root-node>

关键是如何检查是否已发布XML数据,以及是否已发布,以及如何检索它。就像在CI中一样,我们通常使用$ this-&gt; input-&gt; post('variable')。但是这里没有“变量”,因为发布的数据是XML,即我无法引用发布的数据。

所以,请建议如何继续。

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

您可以使用DOMDocument来构建和检索html / xml文档

与javascript类似,您可以使用getElementsByTagName

答案 1 :(得分:0)

你可以这样做:

$xml = file_get_contents('php://input');
$doc = new DOMDocument();
$doc->loadXML($xml);
echo $doc->saveXML();

有关DOMDocument的更多信息,请查看此处:http://www.php.net/manual/en/domdocument.loadxml.php