PHP Xpath-从另一个元素中选择元素

时间:2016-03-01 17:27:55

标签: php xml xpath

我在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));

1 个答案:

答案 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));