我在PHP中遇到Xpath函数问题。我创建了simpleXML而不是运行xpath。然后我想将它运行到xpath的结果,但只将它应用于第一个元素。但它仍然采取所有元素,如没有使用xpath。我还打印了数组在第一个xpath之后的样子,并且它显示了我想要的东西。有人可以帮忙吗?
$elem = simplexml_load_file($fileIn);
$xpathArg = "//".$arg['eFR'];
$prem = $elem->xpath($xpathArg);
$xpathArg2 = "//".$arg['eSE'];
print_r($prem[0]->xpath($xpathArg2));
答案 0 :(得分:0)
以/
开头的XPath是绝对路径。您需要从上下文节点开始的路径,否则将忽略上下文节点。只需在第二个xpath查询开头添加.
,就可以确保它从您指定的节点开始。
$elem = simplexml_load_file($fileIn);
$xpathArg = "//".$arg['eFR'];
$prem = $elem->xpath($xpathArg);
$xpathArg2 = ".//".$arg['eSE'];
print_r($prem[0]->xpath($xpathArg2));