インターフェイスが呼び出された後、$result= は次のコンテンツを取得できます:
stdClass Object
(
[out] => ;flights>
<キャビン><キャビン キャビンコード="Y" キャビンタイプ="0" キャビン割引=" 100" キャビン名="エコノミークラス" キャビンセールス="A" ibePrice="1280" encryptString="79fccacuigjjdskf " />
)
以前は xml を直接読み取るためにこれを行っていました, しかし、この方法では stdClass Object( [out] =>
各ノードの内容の読み方がわかりません
ディスカッションへの返信(解決策)
オブジェクトの操作に慣れていない場合は、最初に配列に変換すると、より便利になります。
取得するオブジェクトは非常に単純です。$result->out はこの XML 文字列です。コンテンツを抽出したい場合は、文字列抽出を試すか、XML をオブジェクトに解析して配列に変換します (推奨)。 )。 ... オブジェクトに興味がある場合 操作に慣れていない場合は、最初に配列に変換すると便利です。
取得するオブジェクトは非常に単純です。$result->out はこの XML 文字列です。コンテンツを抽出したい場合は、文字列抽出を試すか、XML をオブジェクトに解析して配列に変換します (推奨)。 )。
PHP コード?1http://www.php.net/manual/zh/ language.oop5.properties.php
DOMDocument メソッドを使用する解析するには
http://www.php.net/manual/zh/language.oop5.properties.php
PHP code?1234567891011$xml = simplexml_load_string($result->out);// のすべてのプロパティを変換しますオブジェクトを配列関数に変換
次の文エラーを表示します:
simplexml_load_string() [ function.simplexml-load-string]: 入力エラーにより入力変換が失敗しました
認識できるのは utf-8 xml のみです
したがって、エラーが報告されます
何か方法はありますか?
$result->out = str_replace('encoding="GB2312"', 'encoding="utf-8"', iconv('gbk', 'utf-8', $result->out));
echo $data['flights']['flight']['cabin']['@attributes']['cabinName'];
データが表示されません、何が起こっていますか