私はこれまでここで質問をしたことがないので、フォーマットが正しくないか、十分に具体的でない場合は、私の質問を許してください。私はほんの少しの人で、PHPとXPathについてはほとんど知りません。
私はこのようなXMLファイルを持っています:
<catalogue>
<item>
<reference>A1</reference>
<title>My title1</title>
</item>
<item>
<reference>A2</reference>
<title>My title2</title>
</item>
</catalogue>
SimpleXMLを使用してこのファイルをプルしています:
$file = "products.xml";
$xml = simplexml_load_file($file) or die ("Unable to load XML file!");
次に、URLパラメーターからの参照を使用して、PHPを使用した「アイテム」に関する追加の詳細を取得しています。
foreach ($xml->item as $item) {
if ($item->reference == $_GET['reference']) {
echo '<p>' . $item->title . '</p>';
}
したがって、www.mysite.com / file.php?reference=A1のようなURLから
私はこのHTMLを取得します:
<p>My title1</p>
私はこれを正しく行っていない可能性があることを認識しており、これを改善するための指針を歓迎します。
私の質問は、次と前の「アイテム」の詳細を見つけたいということです。URLからreference=A1であることがわかっている場合、次の「アイテム」の参照、タイトルなどを見つけるにはどうすればよいですか?'A1'しかなく、それが参照ノードであることがわかっている場合、次のようなHTMLを取得するにはどうすればよいですか。
<p>Next item is My title2</p>
次の兄弟について読んだことがありますが、使い方がわかりません。参照ノードの次の兄弟しか見つかりません。これは必要なものではありません。
助けていただければ幸いです。