【发布时间】:2010-09-02 12:16:56
【问题描述】:
我以前从未在这里问过问题,所以如果我的问题格式错误或不够具体,请原谅我的问题。我只是个涉猎者,对 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>
我已阅读过关于追随兄弟的信息,但我不知道如何使用它。我只能找到引用节点的以下兄弟,这不是我需要的。
任何帮助表示赞赏。
【问题讨论】:
标签: php xpath simplexml parent siblings