PHP获取树父节点,PHP SimpleXML XPath获取下一个父节点

我以前从未在这里问过一个问题,所以请原谅我的问题,如果它的格式不正确或不够具体.我只是一个涉猎者,对PHP和XPath知之甚少.

我有一个像这样的XML文件:

A1

My title1

A2

My title2

我正在使用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 '

' . $item->title . '

';

}

因此,从类似www.mysite.com/file.php?reference=A1的URL

我会得到这个HTML:

My title1

我意识到我可能没有正确地做到这一点,欢迎对此提出任何建议.

我的问题是,我想查找下一个和上一个“项目”详细信息.如果我从URL知道reference = A1,如何找到下一个“项目”的参考,标题等?如果我只有“ A1”,并且知道这是一个参考节点,那么如何获得这样的HTML:

Next item is My title2

我已经阅读了有关继兄弟姐妹的信息,但是我不知道如何使用它.我只能找到参考节点的以下同级对象,这不是我所需要的.

任何帮助表示赞赏.

解决方法:

您可以使用:

/catalogue/item[reference='A1']/following-sibling::item[1]/title

含义:从商品目录根元素的item元素子级开始,导航到第一个后继同级item元素的title子级.

标签:siblings,xpath,parent,simplexml,php

来源: https://codeday.me/bug/20191023/1916128.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值