我正在遍历一组SimpleXML对象,但无法弄清楚如何访问每个对象的父节点。这就是我想要的:

$divs = simplexml->xpath("//div");
foreach ($divs as $div)
{
   $parent_div = $div->get_parent_node(); // Sadly, there's no such function.
}

似乎必须有一个相当简单的方法来执行此操作。

最佳答案

您可以运行一个简单的XPath查询来获取它:

$parent_div = $div->xpath("parent::*");

由于这是Simplexml,并且仅具有元素和属性节点,而父节点只能是元素,而不能是属性,因此可以使用缩写语法:
$parent_div = $div->xpath("..");

(通过:Common Xpath Cheats - SimpleXML Type Cheatsheet (Feb 2013; by hakre))

关于php - 使用PHP的SimpleXML访问元素的父级?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2174263/

10-12 15:36