2012-03-21 17 views
0

次のように基本的な作業の流れは次のとおりです。CURLによってcodeigniterに投稿されたXMLデータを取得するには?

1)を以下のようにいくつかのサードパーティ製のデバイスは、カール経由で/ポストXMLデータを送信します:--data-ASCII〜/デスクトップ/ abc.xmlカール http://my-site.com/my-controller/my-function

2) 'my-function'では、データが投稿されているかどうかを確認する必要があります。条件付きでアクションを実行します。ポイントは、XMLデータが掲載さか、それを取得する方法を、次に掲載されている場合かどうかを確認する方法です

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

を次のようにabc.xmlで

XMLフォーマットです。 CIのように、私たちは一般に$ this-> input-> post( '変数')を使っていました。しかし、ここでは、投稿されたデータがXMLであるため、「変数」は存在しません。つまり、投稿されたデータを参照する方法はありません。

ですので、進めてください。

お時間をいただきありがとうございます。 DOMDocumentについての詳細情報については

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

答えて

0

あなたはあなたがこのような何かを行うことができgetElementsByTagName

+0

ご返信ありがとうございますが、私の問題は解決しません。実際には、POSTされたXMLデータを取得するだけの手段が必要です。 XMLのさらなる処理は、私が管理できる別の部分です。 –

+0

getElementsByTagName(ループ)を使用して要素(ノード)が存在するかどうかを確認するように、xmlドキュメントを最初に処理する必要があります。 – Philip

関連する問題