私はサーバーへのリクエストに基づいてXMLレスポンスを受信しています。実際にprint_r()を使用して画面にダンプできる有効な結果セットを返します。 Resultセットには、次のようになります(編集:これは、ファイルの正確な構造です):単純なXMLノードのインデックスによるアクセスprob!em
$xml = simplexml_load_string($xmlRequest);
$records = $xml->recordset->record;
私は、foreachループで$レコード配列なしで歩くことができます。私はラインを使用する場合
<root>
<main_node1>
<value1>one</value1>
<value2>two</value2>
</main_node1>
<main_node2>
<anothervalue>whatever</anothervalue>
</main_node2>
<recordset>
<record>
<value1>one</value1>
<value2>two</value2>
</reocrd>
<record>
<value1>one</value1>
<value2>two</value2>
</reocrd>
<record>
<value1>one</value1>
<value2>two</value2>
</reocrd>
</recordset>
</root>
ただし、レコード内の特定のレコードにアクセスしようとすると問題が発生するなど
のインデックスを使用して$record = $xml->recordset->record[$index];
私はNULL valeuを取得しています。私はまた、これまでのところ成功していない結果を(配列)にキャストしようとしました。
私がsimpleXMLに関して見たすべてのドキュメントでは、XMLノードにインデックスでアクセスすることができますが、誰かが私がここで間違っているかもしれないことを教えてくれますか?
編集:レコードセットはドキュメントのルートではありませんが、$ xml-> recordset->レコード表記を使用して、$ records変数にレコードのリストをロードし、foreachループ。
あなたが失敗した完全な例を挙げてもらえますか? (XMLと使用するコード、または例のためにそれに似たコード) –