お得な情報を含むXMLフィードがあり、タイトルと画像を取得する必要があります。
私はxpathを使用していますが、これは例です:(/deals/deal/deal_title
取引タイトルの場合)
/deals/deal/deal_image
(取引画像の場合)
問題は、一部の取引で取引画像がまったく設定されていないため、取引タイトルを取引画像にリンクすると、間違った画像が表示されることがあります。
問題を追跡するために、2つの別々の配列を作成しました。1つはタイトルを使用し、もう1つは画像を使用します。
問題の原因となる奇妙なことは、画像配列上で空のインスタンスが配列の最後に移動されることです。
たとえば、「dealtitle2」に画像がなく「dealtitle3」に画像があるとすると、「dealtitle3」の画像が「dealtitle2」に使用されます。
このリンクを使用して、私が作成したコードを確認してください:http: //pastebin.com/HEuTJQjZ
興味深い部分は以下から始まります:$doc = new DOMDocument();
基本的には、多くのxpathクエリを実行してタイトル、画像、価格などを取得し、それらをデータベースに追加します。
問題は、取引にタグが設定されていないため、次の値を使用する場合に始まります。
空のインスタンスをすべて魔法のように一番下に移動する方法がわかりません。Xpathは結果を注文することになっていないのですよね?
[]演算子を使用して特定の画像を取得しようとしましたが、結果が間違った方法で並べ替えられているため、役に立ちません。
フィードの例:http ://www.clickbanner.gr/xml/?xml_type = departments&affiliate_ID = 14063
編集:
本当の問題は、xpathが結果をドキュメントの順序で並べ替えず、予想される順序を変更することです。これはバグか何かですか、それとも結果をドキュメントの順序で並べ替える方法はありますか?参照:XPathクエリ結果の順序
前もって感謝します。